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.


  • 0
    点赞
  • 0
    评论
  • 0
    收藏
  • 一键三连
    一键三连
  • 扫一扫,分享海报

©️2021 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值