struts.xml配置 Json返回值勤 <param name="root">XX</param>不理解是什么意思 <param name="root">XX</param>;谁能帮我解释一下什么意思 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 http://www.mkyong.com/struts2/struts-2-param-tag-example/ 这是常用配置,xx表示返回的json对象,root表示返回对象的层级为根部,,因为一般对象可以直接获得更多的对象,比如xx.getParent() 程序会默认以为你要返回的json类型为该对象下的所有属性及对象,以及对象的对象,对象的属性,,,一直下去。所以如果不指定name="root" 这就会导致死循环,内存溢出了 解释得很好,懂了。不过测试的时候还是碰到了一个问题,以下是JSP页面的具体访问代码, $.getJSON("user/user!returnUser",function(data){ $("#result").append("id:"+data.user.id+" ") .append("name:"+data.user.name); });action类 private User user; //省略getter(),setter() public String returnUser() { user = new User(); user.setId(1); user.setName("user"); System.out.println(user.getName()); return "user"; }struts.xml <result name="user" type="json"> <param name="root">user</param> </result>在struts.xml加上<param name="root">user</param>这一句,Jsp页面却不能正常显示了,按理说应该也能正常显示的啊 楼主的 <action>配置的是extends="json-default" 吗??还有 项目lib中有加 struts-json-plugin.jar吗??? 配置什么的都是对的,没问题,都测试通过<result name="user" type="json"> <param name="root">user</param></result>就是加入<param name="root">user</param>这句后,前台就访问不到user的属性了。没加就能访问到 这是返回的是json格式,不是user对象,肯定访问不到user的属性。 [align=left] $.getJSON("user/user!returnUser",function(data){ $("#result").append("id:"+data.user.id+" ") .append("name:"+data.user.name); });[/align]直接$("#result").append("id: " + data.id + " ").append("name: " + data.name);就可以了,因为现在的user被转为 json 字符串了,你用火狐浏览器的firebug就可以看见这个json字符串。 问个反编译的问题 关于struts2中redirect传中文参数乱码问题 jQuery ajax 火狐fireFox 上的返回值是object XMLDocument 急。问个问题 java开发框架求助 JAVA 里面有没有集合运算的方法啊 学J2EE用什么编译器好? 提一个弱智的问题:访问数据类的写在哪里? [Struts-2]javascript脚本插入相关 找一个数据库取到生成XML,在解析后插入数据库中的例子.400分(1) java读取一个二进制文件(c写入的)乱码问题怎么解决 最近在学WEB,求推荐精品书籍
xx表示返回的json对象,root表示返回对象的层级为根部,,因为一般对象可以直接获得更多的对象,比如xx.getParent() 程序会默认以为你要返回的json类型为该对象下的所有属性及对象,以及对象的对象,对象的属性,,,一直下去。
所以如果不指定name="root" 这就会导致死循环,内存溢出了
不过测试的时候还是碰到了一个问题,
以下是JSP页面的具体访问代码,
$.getJSON("user/user!returnUser",function(data){
$("#result").append("id:"+data.user.id+" ")
.append("name:"+data.user.name);
});
action类
private User user;
//省略getter(),setter()
public String returnUser() {
user = new User();
user.setId(1);
user.setName("user");
System.out.println(user.getName());
return "user";
}struts.xml
<result name="user" type="json">
<param name="root">user</param>
</result>在struts.xml加上<param name="root">user</param>这一句,Jsp页面却不能正常显示了,按理说应该也能正常显示的啊
还有 项目lib中有加 struts-json-plugin.jar吗???
<result name="user" type="json">
<param name="root">user</param>
</result>
就是加入<param name="root">user</param>这句后,前台就访问不到user的属性了。没加就能访问到
$("#result").append("id:"+data.user.id+" ")
.append("name:"+data.user.name);
});[/align]
直接$("#result").append("id: " + data.id + " ").append("name: " + data.name);就可以了,因为现在的user被转为 json 字符串了,你用火狐浏览器的firebug就可以看见这个json字符串。