`

Struts2+JSON+jQuery实现异步交互数据时选择要序列化的属性(一注解方式转)

    博客分类:
  • SSH2
 
阅读更多

在使用Struts2的JSON插件,实现Action中的属性序列化成JSON对象时默认JSON插件会把所有Action中包含getter方法的属性都序列化到JSON对象中。但是有时候我们并不需要太多的属性,或者只需要一个属性。那么怎样控制属性序列化到JSON对象中哪?Struts2的JSON插件为我们提供了两种方式,第一:使用注解的方式控制,第二:使用Struts2的struts.xml配置文件的方式。

这一讲我们主要介绍注解方式。如果大家还不会Struts2+JSON+JQuery的交互方式请查看 http://zyw090111.iteye.com的Struts2+jQuery+JSON实现异步交互的文章

我们要使用JSON的注解是@JSON这个类共有是个属性分别是:
    1. name    String 类型     用户为属性起一个别名(我们序列化到JSON对象中的键默认是属性名称,如果使用了name属性那么键是name起的名字);
    2. serialize  Boolean类型   默认为true 也就是可以被序列化,如果设为false那么该属性将不包含在JSON对象中;
    3. format  String类型  主要是对日期进行格式化
    4. deserialize Boolean类型 默认为true,它是指反序列化,和serialize相反。
请看代码:

Java代码 复制代码 收藏代码
  1. package test.json;   
  2.   
  3. import java.util.Date;   
  4.   
  5. import org.apache.struts2.json.annotations.JSON;   
  6.   
  7. import com.opensymphony.xwork2.ActionSupport;   
  8.   
  9. @SuppressWarnings("serial")   
  10. public class Users extends ActionSupport {   
  11.     private int id;   
  12.     private String userName;   
  13.     private String pwd;   
  14.     private String address;   
  15.     private Date birthday;   
  16.     public int getId() {   
  17.         return id;   
  18.     }   
  19.     public void setId(int id) {   
  20.         this.id = id;   
  21.     }   
  22.     @JSON(serialize=false)   
  23.     public String getUserName() {   
  24.         return userName;   
  25.     }   
  26.        
  27.     public void setUserName(String userName) {   
  28.         this.userName = userName;   
  29.     }   
  30.     @JSON(name="mm")   
  31.     public String getPwd() {   
  32.         return pwd;   
  33.     }   
  34.     public void setPwd(String pwd) {   
  35.         this.pwd = pwd;   
  36.     }   
  37.     public String getAddress() {   
  38.         return address;   
  39.     }   
  40.     public void setAddress(String address) {   
  41.         this.address = address;   
  42.     }   
  43.     @JSON(format="yy-MM-dd")   
  44.     public Date getBirthday() {   
  45.         return birthday;   
  46.     }   
  47.     public void setBirthday(Date birthday) {   
  48.         this.birthday = birthday;   
  49.     }   
  50.     @Override  
  51.     public String execute() throws Exception {   
  52.            
  53.         this.id = 10000;   
  54.         this.userName = "zhangsan";   
  55.         this.pwd = "00000";   
  56.         this.address = "xian";   
  57.         this.birthday = new Date();   
  58.            
  59.         return SUCCESS;   
  60.     }   
  61. }  
分享到:
评论

相关推荐

    struts2.1.8+json+jquery1.3实现ajax

    总结起来,这个项目结合了Struts2的Action和JSON支持,利用jQuery的Ajax功能,实现了客户端与服务器之间的数据交互,达到了动态更新页面的目的。对于Web开发者来说,了解这种技术组合有助于提高开发效率和用户体验。

    struts2+jquery+json 小例子

    博客链接中提到的内容可能详细解释了如何配置Struts2的Action、Result以及如何在JSP页面中使用jQuery与服务器进行交互,同时展示了如何处理和返回JSON数据。这个小例子可以帮助初学者理解这三者如何协同工作,提升...

    struts2+spring+ibatis+jquery+json

    Struts2、Spring、iBatis和jQuery是四个在Java Web开发中广泛应用的框架和技术,它们共同构建了一个高效、灵活的后端系统,并通过JSON进行数据交互。下面将详细阐述这些技术及其相互间的整合。 **Struts2** 是一个...

    struts2+jquery执行ajax并返回json类型数据(源码)

    在这个"struts2+jquery执行ajax并返回json类型数据"的示例中,我们将探讨如何通过Ajax技术在后台Struts2框架与前端jQuery库之间交换JSON格式的数据。 首先,Struts2是一个强大的MVC(Model-View-Controller)框架,...

    Struts2_JSON_Demo

    - **JSON ValueStack**:当配置了JSON结果类型,Struts2会自动将ValueStack中的对象转换为JSON格式,无需手动序列化。 4. **返回JSON数据**: - **Action的返回值**:Action的返回值可以是简单的字符串,也可以是...

    与struts2配套的JSON架包

    - 如果需要处理复杂的JSON结构,可以利用`@Result`的`includeProperties`或`excludeProperties`参数来指定序列化的对象属性。 通过以上步骤,你可以在Struts2项目中有效地集成和使用JSON,提升应用程序的交互性和...

    struts2 json例子 可执行

    3. **Action类中的Model驱动**:为了让JSON能序列化Action中的属性,可以使用Model驱动的方式,即将Action类的属性与视图层的数据显示关联起来。例如: ```java public class MyAction extends ActionSupport { ...

    struts2-jsondemo

    6. **JSONParam注解**:对于接收JSON请求,Struts2提供了`@JSONParam`注解,可以将JSON请求参数绑定到Action的属性上,简化了数据处理。 7. **JSON验证**:Struts2提供了基于JSON的验证功能,可以在Action中定义...

    struts2结合JSON的Ajax支持

    Struts2是一个非常流行的Java ...总之,Struts2结合JSON的Ajax支持使得开发人员能够轻松地构建异步交互的应用,提高用户体验,同时利用JSON的简洁性和效率。通过适当的配置和编程,可以创建出高性能、易维护的Web应用。

    Struts2.18和JSON做的省市联动

    Struts2.18与JSON技术的结合是Web开发中常用的一种实现动态数据交互的方式,尤其在构建省市联动效果时,这种技术组合显得尤为重要。在本文中,我们将深入探讨Struts2.18框架和JSON(JavaScript Object Notation)...

    struts json

    Struts JSON 是一个在 Apache Struts 框架中用于处理JSON(JavaScript Object Notation)数据的技术。JSON 是一种轻量级的数据交换格式,广泛应用于Web服务和客户端之间的数据交互,因为它易于读写,同时也被大多数...

    jquery $.post()的用法 传递json文本 客户端和服务器端相互传递

    jQuery 提供了多种 AJAX 方法来简化这一过程,其中 `$.post()` 是一种常用的方式来实现客户端向服务器端发送数据并接收响应。本文将详细探讨 `$.post()` 的使用方法,特别是在传递 JSON 数据时的应用。 #### 一、`$...

    struts2的ajax异步请求访问

    确保你的对象属性有对应的getter和setter方法,以便于Struts2 JSON插件进行序列化。 6. **Struts2拦截器**:在处理Ajax请求时,Struts2的拦截器也扮演着重要角色。例如,`params`拦截器负责解析请求参数,`...

    SSH+jQuery完整开发包V2.5

    SSH+jQuery完整开发包V2.5是一款集成了Struts2、Spring、Hibernate以及jQuery技术的开发工具包,主要用于简化Java Web应用的开发流程。这个版本是2.5,意味着它可能包含了最新的优化和更新,以提高开发效率和兼容性...

    Struts2与Ajax结合输入验证[包含功能代码段]

    这个过程中,你还需要熟悉JSON的序列化与反序列化,以及JavaScript与服务器端数据交互的基本知识。同时,理解Struts2的拦截器、结果类型和Action支持类的使用也是非常重要的。记住,良好的前端验证可以减轻服务器的...

    Struts2.5 利用Ajax将json数据传值到JSP的实例

    - 确保所配置的包继承自`json-default`,因为需要使用Struts2的JSON拦截器序列化对象为JSON格式。 3. **前端AJAX调用:** - 使用JavaScript库(如jQuery)编写AJAX请求,通过`$.ajax`方法向服务器发送请求。 - ...

    S2SH整合JQuery+Ajax实现登录验证功能实现代码

    在本篇文档中,我们探讨了如何利用Java的S2SH框架,即Spring、Struts2、Hibernate,结合JQuery和Ajax技术实现一个登录验证功能。这个过程涉及前后端的交互以及数据的序列化与反序列化处理。具体的知识点包括: 1. ...

    ssh+ajax实例

    7. **JSON的序列化与反序列化**:在服务器端将Java对象转换为JSON字符串,通过Ajax返回,然后在客户端将JSON数据解析成JavaScript对象。 8. **页面交互优化**:利用Ajax优化页面加载速度,提高用户交互体验,如局部...

    java开源包2

    nfs-rpc是一个集成了各种知名通信框架的高性能RPC框架,目前其最好的性能为在采用grizzly作为通信框架,采用pb作为序列化/反序列化时,tps为168k次/秒。 其支持的功能主要为: 1、透明的调用远端服务器提供的功能...

    java开源包3

    nfs-rpc是一个集成了各种知名通信框架的高性能RPC框架,目前其最好的性能为在采用grizzly作为通信框架,采用pb作为序列化/反序列化时,tps为168k次/秒。 其支持的功能主要为: 1、透明的调用远端服务器提供的功能...

Global site tag (gtag.js) - Google Analytics