您的位置:首页 > 理论基础 > 计算机网络

ajax请求struts action返回json时XmlHttpRequest.status500错误

2012-12-25 01:16 501 查看
可能造成这种错误的会有很多原因,我就说一下我这儿发生的原因,仅供参考。

在我的action中配置了三个属性,String name、String value、List audienceList;name和value都是从jsp页面得到的,audienceList是我要封装成json再传到jsp页面的;

运得时name和value的值从jsp得到了,audienceList的值也从后台得到了,可就是返回到页面时报500错误,网上找到一种说法是去掉name和value的get方法,因为在action中只要有get方法,struts就会将其包含到json对象中,但是去掉name和value的get方法以后,还是报错,后来又找到一种方法,就是在struts.xml中配置action时,在<result>中加上

<param name="includeProperties"><!-- includeProperties用于过滤json包含的属性-->

    userexsit<!--action里userexsit字段--> ,user\.name<!-- user字段只包含user对象的name属性-->
<!-- 注意的是,上面过滤条件都是正则表达式,如上面的user\.name里的"."要用转义符,不然会是正则表达式里的"."-->

</param>
如我的action配置
<action name="audienceFindIsRegister" class="audienceFindIsRegister">

   <result name="success" type="json">

   <param name="includeProperties">

   audienceList

   </param>

   </result>

  </action>
问题解决。
 
问题补充:用以上方法改过代码后,没有500错误了,可是在jsp上得不到数据,后来网上查查,知道问题的根源是spring注入action时,getXX()导致的,去掉getXX()方法之后还是得不到数据,然后就把name和value的get方法删除了,在jsp上得到了数据。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  Json JSP 正则表达式