java struts2中action返回输出json的配置方法

struts | 2019-09-13 10:02:39

我现在做项目把前段和后端分得很清楚了,基本不用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!"}


登录后即可回复 登录 | 注册
    
关注编程学问公众号