struts2 使用jsonplugin
配置中的参数含义:
root参数用于指定要序列化的根对象,如果省去这一配置,表示要序列化action中的所有属性
ignoreHierarchy 为false时表示要序列化根对象的所有基类
excludeProperties表示排除的序列化的属性
includeProperties表示哪些属性被序列化
Action配置:
- <!-- jsonplugin的使用配置 -->
- <!-- package要继承json-default 以加载json插件 -->
- <action name="jsonAct" class="cn.enjoylife.prac.action.JsonAction">
- <result type="json">
- <!-- root参数用于指定要序列化的根对象,如果省去这一配置,表示要序列化action中的所有属性 -->
- <param name="root">map</param>
- <!-- ignoreHierarchy 为false时表示要序列化根对象的所有基类 -->
- <param name="ignoreHierarchy">false</param>
- <!-- 排除hello属性,使其不被序列化 -->
- <param name="excludeProperties">hello</param>
- </result>
- </action>
JsonAction.java:
- /**
- * @author Evan
- *
- */
- public class JsonAction extends ActionSupport {
- private static final long serialVersionUID = 3870310687165227565L;
- private int[] ints = { 100, 200 };
- private Map<String, Object> map = new HashMap<String, Object>();
- private String hello = "helloWorld";
- private String username = "evan";//没有getter方法,不会被序列化
- private String password = "pwd";
- private String validateCode = "123456";
- public int[] getInts() {
- return ints;
- }
- public void setInts(int[] ints) {
- this.ints = ints;
- }
- @JSON(name="newMap")//重新命名
- public Map<String, Object> getMap() {
- return map;
- }
- public void setMap(Map<String, Object> map) {
- this.map = map;
- }
- public String getHello() {
- return hello;
- }
- public void setHello(String hello) {
- this.hello = hello;
- }
- public void setUsername(String username) {
- this.username = username;
- }
- @JSON(serialize=true)//这是默认值,可以省去
- public String getPassword() {
- return password;
- }
- public void setPassword(String password) {
- this.password = password;
- }
- @JSON(serialize=false)//serialize参数为false,不会被序列化
- public String getValidateCode() {
- return validateCode;
- }
- public void setValidateCode(String validateCode) {
- this.validateCode = validateCode;
- }
- @Override
- public String execute() throws Exception {
- map.put("info", "今天的雨真大啊!");
- return SUCCESS;
- }
- }
使用jquery操作返回的json串:
- $(document).ready(function(){
- $.getJSON(
- "./jsonAct.action",
- function(data){
- alert(data.info);
- }
- );
- });
https://cwiki.apache.org/confluence/display/WW/JSON%20Plugin