我想使用struts在JSP页面中呈现内容。
我有实现Serializable
的Java Bean类:
public class MyPOJO implements Serializable {
String name;
int value;
// A lot of other members, but all String or int
// Getters and setters
}
我的表单类有一个MyPOJO列表:
public class MyForm extends ActionForm {
private List<MyPOJO> results = new ArrayList<MyPOJO>();
// Getter and setter
}
继承DispatchAction以将MyForm对象传递到页面上的类。
在jsp页面上我使用:
<logic:notEmpty name="myForm" property="results">
var jsonData = ${myForm.results};
</logic:notEmpty>
生成的jsp文件的最终结果是MyPOJO对象列表:
var jsonData = [com.package.MyPOJO@174aee5,...]
我想知道,如果没有覆盖MyPOJO类中的toString()
方法,有没有其他方法可以直接将其转换为json String?我还创建了一个休息服务,返回一个MyPOJO列表,没有toString()
方法,它已经可以显示JSON字符串了,我想知道为什么它对JSP表单bean不起作用? / p>
答案 0 :(得分:0)
因为您没有覆盖ArrayList
toString()
方法。您的属性是必须序列化为JSON的集合。您可以扩展ArrayList
并覆盖该方法,也可以使用已被覆盖的本机JSONArray
或JSONObject
toString()
并返回JSON字符串。