zoukankan      html  css  js  c++  java
  • Strust2的json插件

    以下这段摘自网上:

    Json是一种轻量级的数据交换格式,JSon插件提供了一种名为json的ActionResultType 。一旦为Action指定了该结果处理类型,JSON插件就会自动将Action里的数据序列化成JSON格式的数据,并返回给客户端物理视图的JavaScript。简单的说,JSON插件允许我们JavaScript中异步的调用Action,而且Action不需要指定视图来显示Action的信息显示。而是由JSON插件来负责具体将Action里面具体的信息返回给调用页面。

    其中使用方法中需要注意的几点:

    1.要使用json插件就要在strust配置文件中的包继承关系改成json-default,如:

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

    2.选择序列化的结果可在strust中配置,可选择配置示例如下:

    <!-- 序列化所有以get开头的方法 -->  
    <result type="json" name="user"></result>     
      
    <!-- 只序列化包含user.id属性 -->
    <result type="json" name="user"> 
        <param name="includeProperties">user.id</param> 
    </result>     
      
    <!-- 不序列化user对象的任何属性 -->
    <result type="json" name="list"> 
        <param name="excludeProperties">user</param> 
    </result>     
      
    <!-- 只序列化根对象中的user -->
    <result type="json"> 
        <param name="root">user</param> 
    </result>      
      
    <!-- 不序列化父类中的属性对象-->
    <result type="json">         
        <param name="ignoreHierarchy">false</param> 
    </result>

    3.对一些属性的特殊处理可在action代码中去特殊的序列化,如:

    [3.1]默认情况下以get方法开头的都会序列化,如果不想序列化,在action中的方法要打上注解
    @JSON(serialize=false)

    [3.2]如果在属性get方法上面加@JSON(name="newName"),则返回的json数据中名称是指定的新名称


    [3.3]@JSON(format ="yyyy-MM-dd'T'HH:mm:ss")设置用于格式化输出、解析日期表单域的格式。

    [3.4]@JSON(deserialize=true)设置是否反序列化该属性

  • 相关阅读:
    最短路径-Dijkstra算法(转载)
    递归算法到非递归算法的转换
    向量点乘(内积)和叉乘(外积、向量积)概念及几何意义(转载)
    数据预处理之独热编码(One-Hot Encoding)(转载)
    MyEclipse中手工添加dtd支持
    怎样sublime显示文件夹
    sublime_Text3中snippet设置信息头(包括作者、日期)
    解决Sublime_Text不能安装插件的方法
    Python设置默认编码为UTF-8
    解决火狐启动缓慢的方法
  • 原文地址:https://www.cnblogs.com/zhujiabin/p/4519762.html
Copyright © 2011-2022 走看看