使用Struts2的JSON插件来实现JSON数据传递

2023-11-14

想要实现此功能第一步需要Struts2的核心架包,第二步需要struts2-json-plugin-2.3.30架包,在lib文件夹下可以找到。
还是借用上次的笔记 来继续写,这个时候我们就不需要用到Servlet了,要使用到Action。

配置xml
    <!-- (1)定义package,并继承json-default -->
    <package name="json" namespace="/" extends="json-default">

        <action name="*ShowAction" class="action.ShowAction" method="{1}">
            <!-- (2)result的type类型为“json”,将返回序列化的json格式数据 -->
            <result name="success" type="json">
                <!-- (3)指定需要格式化的跟对象 -->
                <param name="root">result</param>
            </result>
        </action>

    </package>


Action中的写法
public class ShowAction extends ActionSupport {

    //要将返回的JSON数据放到值栈范围,这里不需要我们手动转换struts2的json插件会为我们转换
    Map<String, Object> result = new HashMap<String, Object>(0);

    public String show(){

        Users users = new Users("张三", "q123");

        //将Users对象转换为JSONObject
        JSONObject jsonObject = JSONObject.fromObject(users);

        //使用JSONObject的toString()方法将JSONObject转换成字符串
        System.out.println( "users:" + jsonObject.toString() );

        List<String> listStr = new ArrayList<String>(0);
        listStr.add("小明");
        listStr.add("小红");
        JSONArray jsonListStr = JSONArray.fromObject(listStr);

        List<Users> listUsers = new ArrayList<Users>(0);
        listUsers.add(new Users("大名", "123"));
        listUsers.add(new Users("大红", "456"));
        JSONArray jsonListUsers = JSONArray.fromObject(listUsers);

        Map<String, String> mapStr = new HashMap<String, String>(0);
        mapStr.put("彩虹", "彩彩");
        mapStr.put("豆豆", "小豆");
        JSONObject jsonMapStr = JSONObject.fromObject(mapStr);

        Map<String, Users> mapUser = new HashMap<String, Users>(0);
        mapUser.put("1", new Users("小彩虹", "123"));
        mapUser.put("2", new Users("小豆豆", "123"));
        JSONObject jsonMapUser = JSONObject.fromObject(mapUser);

        result.put("jsonListStr", jsonListStr);
        result.put("jsonListUsers", jsonListUsers);
        result.put("jsonMapStr", jsonMapStr);
        result.put("jsonMapUser", jsonMapUser);
        result.put("users", jsonObject);

        return Action.SUCCESS;
    }


    public Map<String, Object> getResult() {
        return result;
    }

    public void setResult(Map<String, Object> result) {
        this.result = result;
    }

}

前台的jsp页面就需要访问action了
<script>

  $(function () {
    $.ajax({
      type:"POST",
      dataType:"JSON",
      url:"/showShowAction",
      success:function(data){

      }
    });
  });


笔记代码
http://download.csdn.net/detail/gxy1317/9619519

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用Struts2的JSON插件来实现JSON数据传递 的相关文章

  • 从表单数据填充struts2中的List

    我觉得这应该是非常明显的 但到目前为止我还没有找到答案 我想要一个字符串列表 或一个字符串数组 我真的不在乎 由 Struts2 中的表单数据填充 我看过几个关于如何做的例子bean 的索引属性 https stackoverflow co
  • 使用struts 2表单标签编辑对象的ArrayList

    我有 2 节课 Student and Course 两者都在其内部的属性上定义了所有 getter 和 setter 我尝试使用这两个类构建一个具有通用功能的 Web 应用程序 例如在不同的 jsp 页面中编辑和添加学生 我的学生可以注册
  • Tomcat 7 对已修改/不存在的资源返回“304 Not Modified”

    我正在开发一个在 Struts2 和 Tomcat 7 0 42 上运行的 Web 应用程序 我写了一个动态生成jsp文件的action 生成的 jsp 其中包含一些图像引用 并创建包含图像的关联 files 文件夹 该操作在另一个页面中调
  • Struts 2下载-如何动态配置文件名?

    我正在开发一个应用程序 人们可以将所需的文件从数据库中提到的位置下载到本地 我正在使用 struts 2 从服务器下载文件 我可以毫无例外地下载该文件 并且运行完美 但是下载的文件具有我在 struts xml 中指定的文件名 我希望它是正
  • 访问 scriptlet 数组索引中 struts 迭代器的索引值

    使用Struts2 我用逗号分隔String我的图像标题 在迭代图像以在 JSP 上呈现时 我需要将标题与特定图像一起显示 但无法获取任何特定标签来分割标题String超过分隔符并访问特定标题 我正在尝试下面的代码 但不知道使用什么来代替某
  • struts2 异步操作

    希望使用带有 Serlvet 3 0 异步支持的 Struts2 我的第一个方法是只处理写入操作中的输出流并返回 null 然而 这会返回 404 资源不可用 我试图在 struts 操作中调整 Bosh servlet 使用 Servle
  • request.getSession() 在 sendRedirect() 之后创建新会话

    我们正在开发旅行应用程序 通过这个航班 可以预订酒店 巴士票 它是基于产品的应用程序 我们有近 25 个客户 3 个客户正在使用 其余仍在开发中 我们为所有客户维护一台服务器 一台服务器 应用程序 多个客户端是我的应用程序中的伟大成就 但问
  • Struts2如何在页面之间导航时保​​留表单值?

    我的项目使用的是 struts2 spring3 请帮我解决这个问题 在我的应用程序中 a jsp 与 gt aAction java 相关 从主菜单 用户可以访问a jsp a jsp 中有很多字段 用户需要键入数据 在页面中间 用户需要
  • struts2中如何使用$.ajax()方法

    大家好 我正在使用 struts 2 和 jquery 插件 1 8 现在我在谷歌上搜索使用 ajax struts中的方法 但我认为我没有输入正确的关键字 任何人都可以给我一个教程 我们如何使用 struts 使用此函数并将响应作为字符串
  • 如何在 Struts 2 验证框架中验证布尔值

    简单 我必须确保选中表单上的隐私复选框 我尝试使用表达式验证器 和字段表达式验证器 但它不起作用 有谁能够帮助我 您能提供更多信息吗 您是如何使用表达式验证器的 为什么它不起作用 看来这种方法应该很好用 需要考虑一些事情 您的布尔值是否同时
  • 如何在 Struts2 中检查 s:if 中的字符串不等式

    我在用
  • Struts2中ActionMapper、ActionProxy、ActionInitation、ActionContext对象的范围?

    任何人都可以描述一下我的对象吗 ActionMapper ActionProxy ActionInvocation ActionContext在 Struts2 应用程序中创建 由于我是 Struts2 框架的新手 我对这些对象的范围感到非
  • 基于另一个下拉列填充struts2 jQuery网格下拉列

    我在发帖之前就搜索过此类问题 找到的大多数答案与 struts2 jQuery 网格无关 这是我的情况 我已成功在初始加载时动态填充下拉框 现在我想根据另一个下拉框中的选择重新加载一个下拉框 我正在寻找一种使用属性 主题的内置解决方案 但我
  • 何时在 struts2 中使用重定向和链接结果类型

    在我的 struts 2 项目中 当使用重定向操作时 我丢失了所有值 例如操作错误和字段错误 我在网上查了一下 发现有2个选项 链条 这个用得不多 我不知道为什么 MessageStoreInterceptor 这需要放置在每个操作中 那么
  • 为什么 Struts2 将我的字符串转换为字符串数组?

    我有一个 Struts 2 JDK 1 7 Struts 2 2 1 应用程序 其中包含过滤条件列表 以字符串形式存储在映射中 Map lt String String gt m filters new HashMap lt String
  • 如何将欢迎页面设置为 struts 操作?

    我有一个基于 struts 的 web 应用程序 我希望默认的 欢迎 页面成为一个操作 我发现的唯一解决方案似乎是使欢迎页面成为包含操作重定向的 JSP 例如 在web xml
  • 使用 Struts 2.2.x 的简单 JSON 示例?

    我在获取 JSON 结果时遇到问题支柱2 2 1 1 http struts apache org 2 2 1 1 index html 有没有人有一个简单的工作示例 可以使用以下命令将 JSON 结果返回到 JSP支柱2 2 1 1并准备
  • Struts 2 S2-016 漏洞缓解直至升级

    最近 Struts 修复了一个允许攻击者执行远程代码的漏洞 显然 不修补这个问题就像用潮流欢迎黑帽子一样 http struts apache org release 2 3 x docs s2 016 html http struts a
  • Struts 未处理的异常 - 没有为操作定义结果 - Struts Spring 和 hibernate 集成

    实际上 我正在致力于在在线考试项目上实现 Struts Spring 和 Hibernate 集成 但是当我在 JSP 页面中提交值时 它会抛出以下错误 Struts 问题报告 Struts has detected an unhandle
  • struts2中如何访问url参数

    我正在做一个struts2项目 我在项目中创建了 url 并使用标签传递了参数 我的问题是如何读取操作中的参数 另外 如果执行相同的操作 我将能够将参数视为查询字符串 我问是因为我无法做到 而且我在其中一个教程中看到了它 通常 您将通过使用

随机推荐

  • 解决maven出现“连接到http://repo.maven.apache.org被拒绝”的问题

    1 原因 这个问题的原因就是无法连接到http repo maven apache org maven2镜像 2 解决办法 修改maven默认镜像仓库地址为国内可用的镜像地址 比如这里推荐阿里的镜像仓库地址 http maven aliyu
  • Android 权限大全

    Key android permission ACCESS CHECKIN PROPERTIES Title 访问检入属性 Memo 允许对检入服务上传的属性进行读 写访问 普通应用程序不能使用此权限 Level 0 Key android
  • QNX下获取系统信息的方法(cpu,内存,进程等等)

    有不少朋友问在qnx下如何获取内存及cpu占有率等等 想到两年前自己做过一个类似windows里的任务管理器的东东 里面有一部分就是获取内存 cpu 磁盘及进程信息的GUI程序 记得也美其名曰xxxTaskMan 把里面的关键代码写下来供兄
  • 关于C++的精度输出的解释。cout.precision()

    关于C 的精度输出的解释 cout precision 网上解释cout precision 是控制浮点数的输出精度的 这句话是没有错误的 但是程序又提示cout precision 是控制输出结果的小数点位数的 这句话是不对的 我们可以做
  • 腾讯云S5服务器2核2G、2核4G和4核8G五年租用时长

    腾讯云五年服务器来了 标准型S5云服务器 可选2核2G 2核4G和4核8G配置 一次性购买五年低至2折 免去xufei烦恼 腾讯云百科分享腾讯云5年服务器限制条件 云服务器配置 目录 腾讯云S5服务器CPU 五年机服务器配置 腾讯云标准型S
  • 转:win7系统下安装SQL Server 2005图文教程

    转载链接 https www cnblogs com icewee articles 2019783 html 转载内容如下 操作系统 Microsoft Windows 7 旗舰版 32位 数据库版本 SQL Server 2005 简体
  • TCP/IP五层模型——应用层(HTTP协议、简单的HTTP服务器)

    关于TCP IP模型的简单介绍 在TCP IP五层模型一文中有简单介绍 本文主要详细介绍其中的应用层相关内容 首先介绍一个定义 应用层协议 在网络版加法计算器一文中 我们介绍的实现网络版本的加法计算器有两种方法 其实无论是哪种方法 只要能够
  • python计算身体质量指数_如何用Python计算身体质量指数BMI,并给出胖瘦程度评价?...

    问 身体质量指数 Body Mass Index 简称 BMI 是目前国际上常用的衡量人体胖瘦程度以及是否健康的一个标准 BMI 值超标 意味着你必须减肥了 BMI 的计算公式是 BMI 体重 千克 身高的平方 米 按照中国人的体质特征 B
  • PPT 各行各业素材 10000套 讲解

    10000套各行各业PPT模板 提供下载 请扫二维码 PPT模板动态工作教育毕业答辩总结教师商务中国风清新简约素材 PPT模板简约风格中国动态模板静态模板唯美清新扁平论文答辩教育 PPT模板工作总结党政机关节日庆典儿童卡通教学课件岗位竞聘
  • 非参数统计吴喜之_看过许多统计教程,这篇是我最推荐的

    01 两组间比较 对于数值变量 首先进行正态性检验 如果各组均满足正态性且两组间方差相等 采用均数 标准差进行统计描述 采用t检验进行组间比较 否则采用中位数 四分位数间距 进行统计描述 采用非参数检验 Mann whitney检验 进行组
  • 【UE4】两个摄像头之间切换

    一 效果展示 二 操作步骤 创建两个摄像机 一个放在场景中 另一个放在Cube上 摄像机的细节面板中约束宽高比 Constrain Aspect Ratio 属性勾选后可以让两个摄像头之间的切换更流畅 但这不是必须的 会用到 include
  • 计算机中的指令跳转

    前言 在上一章中说了 高级语言为什么怎么样成为计算机能够读懂的语言 下面就来说说这些计算机能够读懂的语言中 他们究竟是如何设计的 CPU是如何执行指令的 在我们现实常用的CPU中 有几百亿的晶体管通过电路起来 在逻辑上我们可以认为CPU就是
  • [Pytorch系列-29]:神经网络基础 - 全连接浅层神经网络实现10分类手写数字识别

    作者主页 文火冰糖的硅基工坊 文火冰糖 王文兵 的博客 文火冰糖的硅基工坊 CSDN博客 本文网址 https blog csdn net HiWangWenBing article details 120607797 目录 前言 深度学习
  • Redis部署——主从备份(一)

    1 简单方式 利用Docker完成Redis主从备份 1 先搭建reids master实例 docker run d name redis master p 6379 6379 redis 4 0 9 2 在搭建redis slave实例
  • 代码随想录算法训练营day10

    Leetcode232 用栈实现队列 链接 232 用栈实现队列 力扣 LeetCode 首先大家要知道 队列的模式是先进先出 如下图所示 来自代码随想录 如图所示 这是就是我们题目要求的用两个栈实现队列 我们可以用第一个栈来储存当前队列出
  • Vue Element UI 之富文本图片上传服务器 + 图片地址插入富文本

    vue版本 vue cli3 插件 vue quill editor 插件增强模块 quill image extend module quill image extend module功能 提供图片上传到服j务器的功能 复制插入 显示上传
  • [xenclient 使用小结] [xen] vhdpartx的作用。

    对于硬盘映像vhd的操作 主要是用vhd utils 但是在 usr sbin 目录下 还发现一个 vhdpartx 的工具 看名字似乎和分区有关 但是又没说明 试着运行下 结果也没有任何的输出 貌似也没有任何的影响 网上也找不到任何的描述
  • Spring和mybatis整合

    一 Spring整合MyBatis 1 导入pom依赖 1 1 添加spring相关依赖 5 0 2 RELEASE spring core spring beans spring context spring orm spring tx
  • 管好【SD-WEBUI】中大量的模型:名称+预览图+备注+分组管理

    文章目录 零 前言 一 模型管理 1 1 模型名称 文件名 1 2 模型缩略图 1 3 模型备注文字 1 4 模型分组 子目录 1 5 模型详细信息 二 第二部分 三 第三部分 零 前言 本篇主要讲怎么管理大量的模型 比如模型不要大幅改名
  • 使用Struts2的JSON插件来实现JSON数据传递

    想要实现此功能第一步需要Struts2的核心架包 第二步需要struts2 json plugin 2 3 30架包 在lib文件夹下可以找到 还是借用上次的笔记 来继续写 这个时候我们就不需要用到Servlet了 要使用到Action 配