zoukankan      html  css  js  c++  java
  • struts2注解返回json

     

    Struts2使用注解方式返回Json数据

    最近项目中需要使用struts2的注解方式实现Json数据的返回 

    讲道理,网上一大堆解决方案,试了半天没有一个完全解决我的问题,因此集百家之长写了这篇博客,希望对大家有用。

     
     

    1.引入struts2-json-plugin和struts2-convention-plugin的jar包

    <dependency>
            <groupId>org.apache.struts</groupId>
            <artifactId>struts2-json-plugin</artifactId>
            <version>${struts2.version}</version>
    </dependency>
    <dependency>
            <groupId>org.apache.struts</groupId>
            <artifactId>struts2-convention-plugin</artifactId>
            <version>${struts2.version}</version>
    </dependency>

    2.Action类注解

    1.使用注解@ParentPackage("json-default")注解Action类

    2.设置result的type为json

    @Result(name = "error", type = "json")

    3 @JSON注解

    a.默认情况下以get方法会被序列化,

    b.可使用注解 @JSON(serialize=false)关闭某个get方法的序列化。

    c.如果在属性get方法上面加 @JSON(name=”newName”),则返回的json数据中key是指定的新名称。

    d. @JSON(format ="yyyy-MM-dd'T'HH:mm:ss”)设置用于格式化json数据中的日期。

    e. @JSON(deserialize=true)设置是否反序列化该属性。

    4.param参数设置

    4.1.root参数:返回单个数据

    使用方法::

    @Action(value="xxxx",results={ @Result(name=“xxx”type="json",params={"root","要返回的数据名称"})})

    4.2. excludeNullProperties 参数:过滤属性值为null的数据

    使用方法:: @Action(value="xxxx",results={ @Result(name=“xxx”type="json",params={“excludeNullProperties","true"})})

    4.3. ignoreHierarchy 参数:表示是否忽略等级。ignoreHierarchy值默认为true,设置为false后会将父类和子类的属性一起输出。

    使用方法:: @Action(value="xxxx",results={ @Result(name=“xxx”type="json",params={"ignoreHierarchy","true"})})

    4.4. includeProperties 参数:输出结果中需要包含的属性值,这里正则表达式和属性名匹配,可以用“,”分割多个正则表达式。

    使用方法:: @Action(value="xxxx",results={ @Result(name=“xxx”type="json",params={"includeProperties","msg,user\.username,list\[1\]\.password,map.*","prefix","true"})})

     

    4.5. excludeProperties 参数:输出结果需要排除的属性值,用法与includeProperties相同。

    使用方法:@Action(value="xxxx",results={ @Result(name=“xxx”type="json",

    params={"excludeProperties","msg,user\.username,list\[1\]\.password,map.*","prefix","true")})

     
     
  • 相关阅读:
    px, pt, rpx, rem,
    tomcat报错LifecycleException的解决方案
    servlet系列
    tomcat startup.bat双击闪退解决方案。
    代码页
    editplus工具配置
    正则表达式常见字符集
    单片机TM4C123学习(六):看门狗
    stata学习笔记(七):回归分析和稳健性检验
    单片机TM4C123学习(五):UART的使用
  • 原文地址:https://www.cnblogs.com/zxwBj/p/8670139.html
Copyright © 2011-2022 走看看