Struts2之Json插件的使用

时间:2021-11-05 22:15:15

时间:2017-1-15 02:27

——普通方式处理异步请求:

    ServletActionContext.getResponse().getWriter().print("aa");



——Struts2中怎样处理异步请求

1、步骤:
    1)导入json插件包:struts2-json-plugin-2.3.15.1.jar
        这个jar包中有一个struts-plugin.xml,其中的package继承了struts-default.xml:
            <package name="json-default" extends="struts-default">

    2)继承json-default
        以后struts.xml继承json-default即可:
            <package name="default" namespace="/" extends="json-default">

    3)定义视图
        在json的jar包中定义了一个视图:
            <result-types>
                <result-type name="json" class="org.apache.struts2.json.JSONResult"/>
            </result-types>

在struts.xml中设置视图:
            <action name="AjaxDemo2" class="com.wyc.action.AjaxDemo2Action">

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

        这样设置后,会将ValueStack栈顶数据变成Json对象。
        也就是会将Action对象转换成Json对象。 

2、<result type="json">参数
    root属性
        <result type="json">标签下有一个参数:
            <result name="success" type="json">

                <param name="root">ps</param>
            </result>

如果没有设置param,可以理解为将整个Action都设置为json数据,也就是说只要在Action中提供了getXxx()方法,就是json中的一个属性。
        如果设置了root,那么只将指定的数据转换成json对象。

3、怎样设置转换成json的对象中不包含特定的属性
    也就是说在获取的json字符串中,不包含id、name等指定属性。
    1)在getXxx()方法上设置注解:
        @JSON(serialize = false)

    2)还可以通过json插件的interceptor完成
        <action name="AjaxDemo2" class="com.wyc.action.AjaxDemo2Action">

            <result name="success" type="json">
                <param name="root">ps</param>
                <param name="includeProperties">ps\[\d+\]\.name,ps\[\d+\]\.price,ps\[\d+\]\.count</param>
                <param name="excludeProperties">ps\[\d+\]\.id</param>
            </result>
        <result name="jsp">/index.jsp</result>

root表示要转换的对象。
        includeProperties表示需要被转换的对象。
        excludeProperties表示不需要被转换的对象。

Struts2之Json插件的使用的更多相关文章

  1. 【转】Struts2中json插件的使用

    配置注意点: 在原有Struts2框架jar包的引入下,需要额外多加一个Json的插件包(struts2-json-plugin-2.3.7.jar) 在struts.xml配置文件中,包需要继承js ...

  2. Struts2:Json插件&lowbar;Ajax

    lib中加入包 struts2-json-plugin-2.3.20.jar json插件有自己的过滤器.返回类型 WebRoot下新建js文件夹 放入json2.js json2.js是一个著名开源 ...

  3. 【Struts2】Json插件使用

    一.使用步骤 1.1 引入依赖 1.2 在struts.xml文件中配置 一.使用步骤 1.1 引入依赖 <!-- https://mvnrepository.com/artifact/org. ...

  4. 笔记:Struts2 的 JSON 插件

    安装插件,将其复制到Web应用的WEB-INF/lib 目录下 Struts2-json-plugin-2.3.16.3.jar json-lib-2.3-jdk15.jar commons-bean ...

  5. Struts2的JSON插件

    扎心了,老铁~这依然是一个注册. 1.reg.jsp <%@page contentType="text/html; charset=utf-8"%> <!DOC ...

  6. Struts2之—集成Json插件实现Ajax

       上篇博客介绍了Struts2中自己定义结果集实现Ajax,也分析了它的缺点:这样自己定义的结果集,写死了,不能做到client须要什么数据就传什么数据:Struts2之-自己定义结果集实现aja ...

  7. 关于Strut2内置Json插件的使用

    配置注意点: 在原有Struts2框架jar包的引入下,需要额外多加一个Json的插件包(struts2-json-plugin-2.3.7.jar) 在struts.xml配置文件中,包需要继承js ...

  8. Struts2返回Json数据(使用Struts2插件)

    这篇我将介绍如何使用Struts2的struts2-json-plugin.jar插件返回JSON数据. 一.其中主要步骤有: 1.将struts2-json-plugin.jar插件拷贝到项目的&q ...

  9. struts2中使用json插件实现ajax交互

    json插件可以简单的实现ajax交互,避免了使用struts2-dojo-plugin.jar包时带来的struts2.x版本冲突问题.并且减少了使用ajax标签时需要的繁琐的配置包括web.xml ...

随机推荐

  1. Performance Tuning

    本文译自Wikipedia的Performance tuning词条,原词条中的不少链接和扩展内容非常值得一读,翻译过程中暴露了个人工程学思想和英语水平的不足,翻译后的内容也失去很多准确性和丰富性,需 ...

  2. Go - 项目收藏

    谷歌官方维护了一个基于go语言的开源项目列表: https://github.com/golang/go/wiki/Projects Web框架 web.go.beego Go项目 httpmq:A ...

  3. hdu Tempter of the Bone

    很典型的dfs题,但是涉及到很多的剪枝 . 奇偶剪枝: 是数据结构的搜索中,剪枝的一种特殊小技巧. 现假设起点为(sx,sy),终点为(ex,ey),给定t步恰好走到终点, s         |   ...

  4. Heap&colon;Expedition&lpar;POJ 2431&rpar;

    远征队 题目大意:一部车要从一个地方走到另一个地方,开始的时候车的油箱有P升油,汽车每走1个距离消耗1升油,没有油汽车无法行驶,路上有加油站,可以为汽车加油,设汽车的油缸是无限大小的,问你汽车能否走到 ...

  5. &lpar;转载&rpar;Cocos2dx-OpenGL ES2&period;0教程:编写自己的shader&lpar;2&rpar;

    在上篇文章中,我给大家介绍了如何在cocos2d-x里面绘制一个三角形,当时我们使用的是cocos2d-x引擎自带的shader和一些辅助函数.在本文中,我将演示一下如何编写自己的shader,同时, ...

  6. Solidity constant view pure关键字的区别与联系

    在Solidity中constant.view.pure三个函数修饰词的作用是告诉编译器,函数不改变/不读取状态变量,这样函数执行就可以不消耗gas了(是完全不消耗!),因为不需要矿工来验证.所以用好 ...

  7. Linux的基础命令

    -shutdown –h now(root用户才有效)     立即关机 -shutdown –r now(root用户才有效)     立即重新启动计算机 -reboot               ...

  8. Getting started with C&num; and GDAL

    Getting started with C# and GDAL http://vipassanaandenvironmentalinformatics.blogspot.jp/2013/03/get ...

  9. &lbrack;POI2007&rsqb;旅游景点atr BZOJ1097

    分析: 我们可以考虑,因为我们必须经过这些节点,那么我们可以将它状压,并且我们因为可以重复走,只是要求停顿前后,不要求遍历前后,那么我们之间存一下点与点之间的最短路,之后每次转移一下就可以了. f[i ...

  10. 面向对象之ajax

    1.Ajax发送请求的几个步骤 1. 创建 XMLHttpRequest 对象 var xhr = new XMLHttpRequest();//IE6 使用var xhr= new ActiveXO ...