日期:2014-05-16  浏览次数:20400 次

ajax请求struts2返回json对象

struts2的struts.xml配置文件,给我们的感觉好像是根据业务类返回的结果,导航不同的页面。然而我们的ajax请求返回的东西需要json字符串时,则此配置就不能满足我们的要求了。


要想action为我们返回json字符串,需执行下面几个步骤:


首先:必须到struts2的lib目录中,复制struts2-json-plugin-2.2.1.jar(以struts2.2.1为例)到工程的WEB-INF/lib目录中。


其次:将struts.xml文件中的package的extends写成:

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


再次:修改action的result如下例:

<action name="findall" class="findAllAction" method="execute"> <result type="json"/> </action>

此处, 的type="jason"表示,向浏览器输出的不是网页了,而是将HTTP响应(Response) ? ? ? ? ? ? ? ? ?的MIME类型设为“application/json”输出文本。


最后:大功造成,只需要在action类中如findAllAction类,添加需要返回的json数据的getter方法, 便可向页面或ajax输出json文件数据了。