码迷,mamicode.com
首页 > Web开发 > 详细

ajax前台与struts2中action交互详见

时间:2017-12-04 00:14:00      阅读:174      评论:0      收藏:0      [点我收藏+]

标签:json   tco   ajax   writer   encoding   cte   font   response   comm   

第一种方法

  利用Servlet API,用response的.getWriter()方法获得PrintWriter

Action代码:

public Object ajax(){
      HttpServletResponse response = ServletActionContext.getResponse();
        response.setCharacterEncoding("UTF-8");  
        response.setContentType("text/html;charset=utf-8"); 
        PrintWriter out = response.getWriter();
     out.print("交互数据");
      return NONE;  
}

ajax代码(跟以前的一样):

$.ajax({
                type:"post",
                url:"/Test/ajax.action",
                data:{},
                dataType:"json",
                success:function(data){
                alert(data)
                },
                error:function(data){
                    alert("错误");
                }
            });

第二种方法:利用struts2 json插件

1.所需架包

  commons-lang.jar;

  json-lib-2.3-jdk15.jar;
  struts2-json-plugin-2.2.3.jar;
  ezmorph-1.0.1.jar;
  commons-beanutils-1.9.2.jar;
  commons-collections-3.1.jar(commons-collections-2可能会报错)

2.struts.xml配置文件

  在package中extends应该改为json-default而不是struts-default,result的type设为json

  <package name="default" namespace="/" extends="json-default"></package>

  <action ...省略>

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

  </action>

3.action代码:

  直接对需要的属性赋值,然后return "success";

4.ajax代码:

  跟之前调用一样,注意成功之后返回的数据是action里所有属性!

  

ajax前台与struts2中action交互详见

标签:json   tco   ajax   writer   encoding   cte   font   response   comm   

原文地址:http://www.cnblogs.com/toplhh/p/7967641.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!