<span style="font-size:18px;">package com.insuper.action;import com.insuper.service.UserService;
import com.insuper.vo.User;
import com.opensymphony.xwork2.ActionSupport;
import com.opensymphony.xwork2.ModelDriven;/*** 注冊用户* * @author seawind* */
public class UserAction extends ActionSupport implements ModelDriven<User> {private String re;private User user = new User();@Overridepublic User getModel() {return user;}public String getRe() {return re;}public void setRe(String re) {this.re = re;}public String register() throws Exception {System.out.println("注冊用户 action 运行... ");userService.addUser(user);this.re="用户注冊成功";return SUCCESS;}private UserService userService;public void setUserService(UserService userService) {this.userService = userService;}}
</span>

这是以用户注冊为例。须要注意的是一定要有返回值。不能用void方法。否则无法进入Struts拦截器

<span style="font-size:18px;">   <package name="default" namespace="/" extends="json-default"><!-- 方式一,自己主动向Action 装配 Service --><action name="register" class="com.insuper.action.UserAction"method="register"><result type="json"><param name="root">re</param></result></action></span>

这里须要注意extends="json-default"

<result type="json"><!-- 这里指定将被Struts2序列化的属性,该属性在action中必须有相应的getter方法 --><!-- 默认将会序列全部有返回值的getter方法的值,而不管该方法是否有相应属性 --><param name="root">dataMap</param><!-- 指定是否序列化空的属性 --><param name="excludeNullProperties">true</param><!-- 这里指定将序列化re中的那些属性 --><param name="includeProperties">userList.*</param><!-- 这里指定将要从re中排除那些属性,这些排除的属性将不被序列化,一般不与上边的參数配置同一时候出现 --><param name="excludeProperties">SUCCESS</param>
</result>
须要注意的是,假设用JSON插件把返回结果定为JSON。

而JSON的原理是在ACTION中的get方法都会序列化, 所曾经面是get的方法仅仅要没指定不序列化,都会运行。 假设该方法一定要命名为get*(比方实现了什么接口), 那么能够在该方法的前面加注解声明该方法不做序列化。

注解的方式为:@JSON(serialize=false) 除此之外。JSON凝视还支持例如以下几个域: serialize:设置是否序列化该属性 deserialize:设置是否反序列化该属性。 format:设置用于格式化输出、解析日期表单域的格式。

比如"yyyy-MM-dd'T'HH:mm:ss"。 //使用凝视语法来改变该属性序列化后的属性名 @JSON(name="newName") public String getName() { return this.name; } 须要引入 import com.googlecode.jsonplugin.annotations.JSON; @JSON(serialize=false) public User getUser() { return this.User; } @JSON(format="yyyy-MM-dd") public Date getStartDate() { return this.startDate; }

Struts2返回json相关推荐

  1. Struts2返回JSON数据的具体应用范…

    Struts2返回JSON数据的具体应用范例 博客分类: Struts2 Struts2JSON  早在我刚学Struts2之初的时候,就想写一篇文章来阐述Struts2如何返回JSON数据的原理和具 ...

  2. Struts2返回JSON对象的方法总结

    http://kingxss.iteye.com/blog/1622455 如果是作为客户端的HTTP+JSON接口工程,没有JSP等view视图的情况下,使用Jersery框架开发绝对是第一选择.而 ...

  3. 从源代码角度看Struts2返回JSON数据的原理

    2019独角兽企业重金招聘Python工程师标准>>> 前面一篇文章其实只是介绍了如何在Struts2中返回JSON数据到客户端的具体范例而无关其原理,内容与标题不符惹来标题党嫌疑确 ...

  4. 深入了解Struts2返回JSON数据的原理及具体应用范例

    来源:http://yshjava.iteye.com/blog/1333104 早在我刚学Struts2之初的时候,就想写一篇文章来阐述Struts2如何返回JSON数据的原理和具体应用了,但苦于一 ...

  5. ajax请求Struts2返回JSON数据方法

    如果是作为客户端的HTTP+JSON接口工程,没有JSP等view视图的情况下,使用Jersery框架开发绝对是第一选择.而在基于Spring3 MVC的架构下,对HTTP+JSON的返回类型也有很好 ...

  6. Struts2 返回 json 格式数据

    最近由于工作原因,没时间更新,那些没能看到的同学,很抱歉了,话不多说,继续写~~ 关于json的返回需要用到一个工具包来将书转换为json格式,在此用到的jar包为: 1 import net.sf. ...

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

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

  8. java action result_Struts2 Result 返回JSON对象详解

    如果是作为客户端的HTTP+JSON接口工程,没有JSP等view视图的情况下,使用Jersery框架开发绝对是第一选择.而在基于Spring3 MVC的架构下,对HTTP+JSON的返回类型也有很好 ...

  9. struts+ajax返回json数据类型的各种情形及对应的Demo

    JSON数据的传递在客户端与服务器的通信过程中,有服务器向客户端传送JSON数据,其核心过程中将对象转换成JSON:还有客户端向服务器传送JSON数据,其核心是将JSON转换成对象.JSON数据在传递 ...

最新文章

  1. Java Daemon线程
  2. VTK:可视化之FrogBrain
  3. ASP.NET Core分布式项目实战(oauth2 + oidc 实现 client部分)--学习笔记
  4. jax-rs/jersey_在Oracle Cloud上的Prime-UI,JAX-RS和Jersey和Gson
  5. Kaggle新手入门
  6. 第3关:HDFS-JAVA接口之上传文件
  7. 数据集永久下架,微软不是第一个,MIT 也不是最后一个
  8. [物理题+枚举] hdu 4445 Crazy Tank
  9. 【.NET】Linq几样特点
  10. ElasticSearch学习(五):数据导入之Logstash
  11. python调用Go代码
  12. 微信小程序mpvue框架
  13. Golang 相关 mindoc开发
  14. unity 更换standard shader
  15. 饥荒如何解锁机器人_《饥荒》全部人物怎样解锁 全人物解锁条件及方法一览...
  16. python文本字词分割及词库云
  17. AI应用第一课:支付宝刷脸登录
  18. python实用案例题
  19. 重装系统“无法创建新的分区也找不到现有分区”
  20. Kubernetes——PV与PVC

热门文章

  1. Qt 事件处理和事件过滤器的返回值总结
  2. Linux查看WAS的jvm信息,linux 下使用命令查看jvm信息
  3. 坚果 android 系统升级,坚果手机的系统是什么?坚果手机能升级安卓5.0吗?
  4. Java学习总结:26
  5. arduino 控制无刷电机_智能控制轮椅来了,残疾人的福音!
  6. 电脑壁纸励志_励志壁纸 | 要乖 要长大 要努力 要不负众望
  7. springboot +security +mybatis+thymeleaf 实现简单的用户 角色 权限(资源) 管理
  8. Hbase的过滤器查询
  9. React State和生命周期 3
  10. Flex 布局:语法篇