`

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

阅读更多
源地址:http://www.v5cn.cn
在使用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相反。
请看代码:
package test.json;

import java.util.Date;

import org.apache.struts2.json.annotations.JSON;

import com.opensymphony.xwork2.ActionSupport;

@SuppressWarnings("serial")
public class Users extends ActionSupport {
	private int id;
	private String userName;
	private String pwd;
	private String address;
	private Date birthday;
	public int getId() {
		return id;
	}
	public void setId(int id) {
		this.id = id;
	}
	@JSON(serialize=false)
	public String getUserName() {
		return userName;
	}
	
	public void setUserName(String userName) {
		this.userName = userName;
	}
	@JSON(name="mm")
	public String getPwd() {
		return pwd;
	}
	public void setPwd(String pwd) {
		this.pwd = pwd;
	}
	public String getAddress() {
		return address;
	}
	public void setAddress(String address) {
		this.address = address;
	}
	@JSON(format="yy-MM-dd")
	public Date getBirthday() {
		return birthday;
	}
	public void setBirthday(Date birthday) {
		this.birthday = birthday;
	}
	@Override
	public String execute() throws Exception {
		
		this.id = 10000;
		this.userName = "zhangsan";
		this.pwd = "00000";
		this.address = "xian";
		this.birthday = new Date();
		
		return SUCCESS;
	}
}
2
0
分享到:
评论

相关推荐

    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类型数据(源码)

    确保已经配置了JSON插件,以便Struts2能够正确地序列化Java对象为JSON格式。 3. **前端HTML页面**:创建一个HTML页面,包含jQuery库和你的JavaScript代码。在这里,使用`$.ajax()`方法设置请求参数,例如URL(指向...

    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)...

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

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

    struts json

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

    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 web开发实战经典源码(1-8)

    源码可能涉及到使用jQuery或XMLHttpRequest进行Ajax请求,以及JSON数据的序列化与反序列化。 6. **Spring框架**: Spring不仅是MVC框架,还提供了依赖注入、AOP(面向切面编程)等功能。源码中会展示如何配置...

    java开源包2

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

Global site tag (gtag.js) - Google Analytics