Struts2 返回json对象

Strust2 的JSON插件提供了一个可以返回“JSON”结果类型的序列化动作。序列化过程是递归的,这意味着整个对象图,动作类(基类不包括在内)将被序列化(根对象可以使用的“root”属性定制)。如果使用拦截器,动作将是从JSON内容请求填充。

案例:返回json对象

准备工作:

1.导入相关包【注意:不同版本struts2依赖基础包有所不同,本例以struts2.2.3为例】

/s2/WebRoot/WEB-INF/lib/asm-3.1.jar
/s2/WebRoot/WEB-INF/lib/asm-commons-3.1.jar
/s2/WebRoot/WEB-INF/lib/asm-tree-3.1.jar
/s2/WebRoot/WEB-INF/lib/commons-fileupload-1.2.2.jar
/s2/WebRoot/WEB-INF/lib/commons-io-2.0.1.jar
/s2/WebRoot/WEB-INF/lib/commons-lang-2.5.jar
/s2/WebRoot/WEB-INF/lib/freemarker-2.3.16.jar
/s2/WebRoot/WEB-INF/lib/javassist-3.11.0.GA.jar
/s2/WebRoot/WEB-INF/lib/ognl-3.0.1.jar
/s2/WebRoot/WEB-INF/lib/struts2-core-2.2.3.jar
/s2/WebRoot/WEB-INF/lib/xwork-core-2.2.3.jar
/s2/WebRoot/WEB-INF/lib/struts2-json-plugin-2.2.3.jar

2.配置项目中web.xml

<filter>
        <filter-name>struts2</filter-name>
        <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
    </filter>

    <filter-mapping>
        <filter-name>struts2</filter-name>
        <url-pattern>/*</url-pattern>
    </filter-mapping>

 

编码:

1.写一个实体类UserInfo.java

package entity;

 

public class UserInfo {

    private String username;

    private String password;

    public StringgetUsername() {

       return username;

    }

    public void setUsername(Stringusername) {

       this.username = username;

    }

    public StringgetPassword() {

       return password;

    }

    public void setPassword(Stringpassword) {

       this.password = password;

    }

   

}

         2.写一个action类UserAction.java,并写出execute方法

package action;

 

importcom.opensymphony.xwork2.ActionSupport;

 

import entity.UserInfo;

 

public class UserAction extends ActionSupport {

  private UserInfo user;

  public UserInfo getUser(){

     return user;

  }

 

  public String execute() throws Exception {

     //模拟从数据库查询

     user = new UserInfo();

     user.setUsername("芙蓉");

     user.setPassword("123");

     return SUCCESS;

  }

}

         3.编写struts.xml

<struts>

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

       <action name="showUser" class="action.UserAction">

           <result type="json"></result>

       </action>

    </package>

</struts>

4.测试:

http://localhost:8080/s2/json/showUser

结果如下:

{"user":{"password":"123","username":"芙蓉"}}

 

【说明】

     extends="json-default"  这个继承的包是定义在struts2-json-plugin-2.2.3.jar包下的xml配置文件中,它本身已经继承自struts-default.


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值