ajax前台与struts2中action交互详见
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ajax前台与struts2中action交互详见相关的知识,希望对你有一定的参考价值。
第一种方法:
利用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交互详见的主要内容,如果未能解决你的问题,请参考以下文章