在使用Struts2的JSON插件,实现Action中的属性序列化成JSON对象时默认JSON插件会把所有Action中包含getter方法的属性都序列化到JSON对象中。但是有时候我们并不需要太多的属性,或者只需要一个属性。那么怎样控制属性序列化到JSON对象中哪?Struts2的JSON插件为我们提供了两种方式,第一:使用注解的方式控制,第二:使用Struts2的struts.xml配置文件的方式。
这一讲我们主要介绍注解方式。如果大家还不会Struts2+JSON+JQuery的交互方式请查看 http://zyw090111.javaeye.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;
}
}
转载于:http://www.blogjava.net/zyw090111/archive/2010/07/29/327452.html
分享到:
相关推荐
本篇将详细讲解如何在Struts2中配置Action来返回JSON响应。 首先,我们需要了解Struts2的Result类型。默认情况下,Action会返回一个JSP页面作为结果,但通过配置,我们可以让Action返回JSON数据。这需要使用到一个...
在Struts2中,返回JSON(JavaScript Object Notation)数据类型是一种常见的需求,尤其是在开发AJAX或者前后端分离的应用时。JSON是一种轻量级的数据交换格式,它允许服务器向客户端发送结构化的数据,而无需解析...
在Struts2中,使用注解(Annotation)可以简化配置,提高开发效率。本篇文章将深入探讨如何在Struts2中通过注解实现返回JSON数据的功能。 首先,让我们理解JSON(JavaScript Object Notation)是一种轻量级的数据...
在Struts2中,我们可以使用注解来配置Action类,而不是传统的XML配置文件。例如,`@Action`注解用于标识一个方法作为处理请求的入口,`@Result`注解则定义了处理完请求后返回的视图。 Struts2的注解极大地提高了...
在Struts2中,JSON(JavaScript Object Notation)的使用极大地增强了与前端JavaScript进行异步交互的能力,使得AJAX(Asynchronous JavaScript and XML)应用变得更加简单。在Struts2中集成JSON,我们可以实现将...
如果需要自定义哪些属性包含在JSON中,可以使用`@SkipValidation`和`@IncludeProperties`注解。 5. **JSON插件配置**: 可以通过配置插件来决定哪些HTTP请求头触发JSON响应,例如设置`struts.action.extension`...
在Struts2框架中,Action类可以返回JSON响应。首先,需要在Action类上添加`@Result`注解,指定结果类型为JSON: ```java public class MyAction extends ActionSupport { @Override public String execute() ...
4. **返回JSON结果**:在Action类中,使用注解或XML配置指定要返回JSON结果。对于简单的JSON响应,可以返回`JSONResult.DEFAULT_JSON_SUCCESS_CODE`。对于更复杂的JSON,可以使用`setProperties()`方法设置属性,...
如果需要自定义哪些属性应该包含在JSON中,或者控制它们的行为,可以使用`@JSON`注解。例如: ```java public class User { @JSON(name="username") private String name; @JSON(include=false) private String ...
在Struts2中,Action类的方法执行后返回的字符串对应于一个结果类型,它决定了应该转向哪个页面。上述代码中的"success"字符串与`@Result`注解中定义的"success.jsp"关联,表示当execute方法执行成功后,用户将被...
`@Action`注解定义了Action的URL,`@Result`注解设置了结果类型为`json`,这使得Struts2会自动将Action的属性转换为JSON格式并返回。 **四、Struts配置** 最后,我们需要在`struts.xml`配置文件中声明我们的Action...
2. 配置Action:在Action类中,添加`@Result`注解或者在XML配置文件中定义结果类型为`json`。 3. 使用OGNL表达式:在Action中,通过OGNL表达式暴露需要转换为JSON的属性。 4. 测试:通过HTTP请求触发Action,响应将...
然后,你可以通过注解或者配置文件指定这个对象的哪些属性应该被序列化为JSON: ```java @Action(value="myAction", results={ @Result(name="success", type="json") }) public class MyAction { ... } ``` ...
在Struts2中,JSON支持是通过Struts2的插件系统实现的,主要涉及到以下几个关键知识点: 1. **Struts2 JSON插件**:Struts2提供了JSON插件,该插件使得Action可以直接返回JSON格式的结果,无需额外的转换步骤。在...
3. **配置struts.xml**:在`struts.xml`配置文件中,我们需要为每个返回JSON的Action定义一个结果。例如: ```xml <action name="getUserList" class="com.example.UserAction"> <result type="json"> ...
在Struts2中,返回JSON数据是一种常见的需求,尤其在处理AJAX请求时,它允许前端和后端进行无刷新的数据交互。这篇博客"Struts2返回json -- demo"可能是关于如何在Struts2框架中实现JSON响应的教程。 在Struts2中,...
本文档是对Struts2注解配置教程的知识点概述,详细介绍了Struts2中注解配置的使用方法和优势,帮助开发者掌握如何通过Java注解简化和优化Struts2框架的配置过程。通过零配置概念,减少XML配置的复杂度,使得代码更加...
在Struts2中,你可以通过在Action类的方法上添加特定的注解,如`@Result(type = "json")`,来指示该方法应该返回JSON格式的数据。 Struts2 JSON Plugin 2.3.8版本包含了以下关键特性: 1. 自动处理Action结果:当...