我现在做项目把前段和后端分得很清楚了,基本不用jsp了,action都是输出json,这样很方便。下面就贴出java struts2输出json的配置:
1.struts.xml
<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.1//EN" "http://struts.apache.org/dtds/struts-2.1.dtd"> <struts> <constant name="struts.objectFactory" value="spring"/> <package name="jsonTest" namespace="/test" extends="struts-default,json-default"> <action name="test" class="test" method="getData"><result type="json"><param name="root">responseJson</param></result></action> </package> </struts>
我是将struts交给spring处理了的,所顺便贴一下spring的配置,你也完全不用管这里,各有各的做法。只需要知道什么配置json的输出即可。
<bean id="test" class="action.Test" scope="prototype" />
2.struts2 action的代码
package action; import net.sf.json.JSONObject; import com.opensymphony.xwork2.ActionSupport; public class Test extends ActionSupport{ private static final long serialVersionUID = 1L; JSONObject responseJson=new JSONObject();public JSONObject getResponseJson(){return responseJson;} public String getData(){ responseJson.put("data", "hellow world!"); return SUCCESS; } }
看到没,只需要把值往responseJson中放就可以了。
3.输出结果
在浏览器输入action的地址:http://localhost:8080/test/test.action,浏览器中显示:
{"data":"hellow world!"}