Struts2+json+Jquery

来源:互联网 发布:2016年网络热点事件 编辑:程序博客网 时间:2024/05/29 19:57

1.引入jar

ezmorph-1.0.6.jar
json-lib-2.3-jdk15.jar
struts2-json-plugin-2.3.14.jar

2.编写struts.xml

 2.1 <package name="common"  extends="struts-default,json-default"></package>

 2.2 demo如下:

<action name="AjaxCustomerInfoAction_*" class="CustomerInfoAction" method="{1}">
   <result name="detile" type="json">
      <param name="includeProperties">cijson.*</param> 

   </result>
   <result name="toUpdateCostomerInfoData" type="json">
      <param name="includeProperties">natures.*</param> 
   </result>
</action>

解释:includeProperties为Action中的所有带有get**对应的属性

特别注意:如果出现ajax访问而回调函数中没有数值时或者不是预期的结果,可能是栈顶元素在作怪,此时只需要清除值栈的栈顶元素即可

在执行的方法中,在return前面假如下面的这句:

ActionContext.getContext().getValueStack().pop();


3. 其他属性介绍:

 <!-- 这里指定将被Struts2序列化的属性,该属性在action中必须有对应的getter方法 -->
03                <!-- 默认将会序列所有有返回值的getter方法的值,而无论该方法是否有对应属性 -->
04                <paramname="root">dataMap</param>
05                <!-- 指定是否序列化空的属性 -->
06                <paramname="excludeNullProperties">true</param>
07                <!-- 这里指定将序列化dataMap中的那些属性 -->
08                <paramname="includeProperties">
09                    userList.*
10                </param>
11                <!-- 这里指定将要从dataMap中排除那些属性,这些排除的属性将不被序列化,一半不与上边的参数配置同时出现 -->
12                <paramname="excludeProperties">
13                    SUCCESS
14                </param