struts2整合json

struts2-json-plugin-2.3.7.jar
struts2认为将数据转换成json格式,并且将数据发送到响应中的操作非常常用,故提供了一个集成json的jar包
1.为了明确被转换成json的数据是哪些,要求所有被转换的数据必须提供get方法,否则不予转换
2.要求转换的数据格式不再是一个页面了
     2.1 要求返回的type="json",package-extends="json-default"
3.在操作中获取数据

在java类中:   

    //服务于ajax响应的辅助变量
    private List<GoodsTypeModel> gtmList;
    public List<GoodsTypeModel> getGtmList(){
        return gtmList;
    }
    
    public String ajaxGetGtmBySm(){
        //根据供应商uuid获取商品类别集合数据
        gtmList = goodsTypeEbi.getAllBySmUuid(supplierUuid);
        //将数据传递回页面    格式:json
        //发送数据response发送数据json格式
        return "ajaxGetGtmBySm";
    }

在struts.xml文件中添加:

<!-- extends="json-default" 目的是启用插件包中的配置 -->
    <package name="default" namespace="/" extends="json-default">

<!-- 此处跳转时要的不是页面,而是一个json数据 -->
           <result name="ajaxGetGtmBySm" type="json">
               <!-- 数据如果不满足情况,比如数据过多 -->
               <!-- 需要对数据进行过滤 -->

      <!-- 设置数据的来源方 -->
               <!-- root="action"数据来源于action类中的所有get开头的方法对应的数据 -->
               <param name="root">action</param>
               <!-- 如果具体的数据中包含有多余的数据,可以通过正则表达式进行更详细的过滤 -->
               <param name="includeProperties">
                   gtmList\[\d+\]\.uuid,
                   gtmList\[\d+\]\.name
               </param>

     <!-- 如果需要用的数据特别多,可以去除不需要的 -->
               <!-- <param name="excludeProperties">
                   gtmList\[\d+\]\.uuid,
                   gtmList\[]d+\]\.name
               </param> -->

    </result>
              

posted on 2017-03-22 11:36  小左1990  阅读(165)  评论(0编辑  收藏  举报

导航