struts2与ajax的整合

整合

   *  导入jar包

       struts2-json-plugin-2.1.8.1.jar

      说明:

          在该jar包中有struts-plugin.xml文件

             <struts>

                  <package name="json-default" extends="struts-default">

                       <result-types>

                          <result-type name="json" class="org.apache.struts2.json.JSONResult"/>

                        </result-types>

                        <interceptors>

                          <interceptor name="json" class="org.apache.struts2.json.JSONInterceptor"/>

                        </interceptors>

                  </package>

             </struts>

            从上述配置中可以看到

                *  有一个package"json-default",有一个自定义的结果集,该结果集处理哪些数据应该返回客户端

    *  在struts的配置文件中:

         所有的package应该继承json-default,result的类型应该是"json",result没有文本值

    *  在action中,所有的get方法,例如

               getXxx  将会已这样的形式返回{xxx:'aaa'}

    *  针对struts2与ajax结合,无论采用$.post还是$.ajax都捕获不到服务器产生的错误,这点struts2内部设计的不是很好

        但是$.ajax捕获错误在servlet能做到。因为

        所以所有的struts2的错误都会走该模板页面

     *  如果在action中,一个get方法返回的不是数据,而且是一个对象,比如返回一个service

       这个时候只需要在该方法上加@JSON(serialize=false)就可以忽略该方法

相关推荐