我有一个像
这样的动作类public class DataProcessor extends ActionSupport{
private JSONObject object;
public JSONObject getObject() {
return object;
}
public void setObject(JSONObject object) {
this.object = object;
}
@Override
public String execute() throws Exception {
.......
return SUCCESS;
}
}
我的XML映射就像
<package name="default" extends="struts-default" namespace="/">
<action name="process" class="com.demo.DataProcessor">
<result type="success">home.jsp</result>
</action>
</package>
在jsp页面上如果我写<s:property value="object"/>
它会打印json数据。如果我写的话
<s:property value="object.name"/>
或
<s:property value="#object.name"/>
或
<s:property value="${#object.name}"/> it is printing nothing.
如何解析jsp页面中的json对象?
答案 0 :(得分:1)
您无需解析需要从中检索值的JSON。假设您的object
为org.json.JSONObject
,您可以通过调用get
方法并将密钥作为字符串传递来从中获取价值。
<s:property value="object.get('name')"/>
答案 1 :(得分:0)
您可以使用库函数parseJSON
来解析JSON,就像在此示例中一样
<s:textfield id="name" name="name"/>
<s:textfield id="mobile" name="mobile"/>
<script type="text/javascript">
$(document).ready(function() {
var obj = $.parseJSON('<s:property value="object"/>');
$("name").val(obj.name);
$("mobile").val(obj.mobile);
});
</script>
此脚本将替换呈现JSP时填充的操作bean中的值(如果有)。文本字段应相应地映射到操作bean。