时间: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插件_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. ESCMScript6(3)Promise对象

    1. Promise的含义 Promise 是异步编程的一种解决方案,比传统的解决方案--回调函数和事件--更合理和更强大.它由社区最早提出和实现,ES6 将其写进了语言标准,统一了用法,原生提供了P ...

  2. 转载:使用jquery刷新当前页面以及其他js知识积累

    转载:https://www.cnblogs.com/heguihui/p/10505949.html 如何使用jquery刷新当前页面 下面介绍全页面刷新方法:有时候可能会用到 window.loc ...

  3. 微信小程序云开发-数据库-查询满足条件的数据

    一.查询价格大于10的商品 1.wxml文件 2.js文件 where条件语句:.where({price:db.command.gt(10)}) 3.查询结果 二.查询价格大于等于10的商品 js文 ...

  4. PAT乙级:1014 福尔摩斯的约会 (20分)

    PAT乙级:1014 福尔摩斯的约会 (20分) 题干 大侦探福尔摩斯接到一张奇怪的字条:我们约会吧! 3485djDkxh4hhGE 2984akDfkkkkggEdsb s&hgsfdk ...

  5. odoo检查规则

    @api.multidef button_cancel(self): for move in self: if not move.journal_id.update_posted: raise Use ...

  6. 第十八篇 -- 在C++中嵌入汇编语言

    基于C++宝典的学习 一.什么是汇编语言 汇编语言是一种功能很强的程序设计语言,也是利用了计算机所有硬件特性并能直接控制硬件的语言.在汇编语言中,用助记符(Memoni)代替操作码,用地址符号(Sym ...

  7. 构建后端第6篇之---java 多态的本质 父类引用 指向子类实现

    张艳涛写于2021-2-20 今天来个破例了,不用英文写了,今天在家里电脑写的工具不行,简单的说 主题是:java多态的原理与实现 结论是:java的多态 Father father= new Son ...

  8. Jmeter关联详解

    关联的概念 从上一步操作中获取需要的值,传递给下一步操作中进行引用,形成自动关联,而不是 每次操作都去手动修改关联的值.常见的场景有SessionID.Session Token值的获取. 正则表达式 ...

  9. webrtc编译

    webrtc编译 最近研究 libmediasoupclient,而 libmediasoupclient 又依赖 libwebrtc,所以首先就想着先在windows上编译一个webrtc的库,先是 ...

  10. Spring Cloud分区发布实践(1) 环境准备

    最近研究了一下Spring Cloud里面的灰度发布, 看到各种各样的使用方式, 真是纷繁复杂, 眼花缭乱, 不同的场景需要不同的解决思路. 那我们也来实践一下最简单的场景: 区域划分: 服务分为be ...