`

struts2 json

阅读更多

1 json定义 参考 http://www.json.org/
  json插件 参考 https://cwiki.apache.org/WW/json-plugin.html
导入struts2-json-plugin-2.1.8.1.jar 到lib目录下
改包下struts-plusin.xml

Xml代码 复制代码
  1. <?xml version="1.0" encoding="UTF-8" ?>  
  2.   
  3. <!DOCTYPE struts PUBLIC   
  4.         "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"   
  5.         "http://struts.apache.org/dtds/struts-2.0.dtd">  
  6.   
  7. <struts>  
  8.     <package name="json-default" extends="struts-default">  
  9.         <result-types>  
  10.             <result-type name="json" class="org.apache.struts2.json.JSONResult"/>  
  11.         </result-types>  
  12.         <interceptors>  
  13.             <interceptor name="json" class="org.apache.struts2.json.JSONInterceptor"/>  
  14.         </interceptors>  
  15.     </package>  
  16. </struts>  
<?xml version="1.0" encoding="UTF-8" ?>

<!DOCTYPE struts PUBLIC
        "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
        "http://struts.apache.org/dtds/struts-2.0.dtd">

<struts>
    <package name="json-default" extends="struts-default">
        <result-types>
            <result-type name="json" class="org.apache.struts2.json.JSONResult"/>
        </result-types>
        <interceptors>
            <interceptor name="json" class="org.apache.struts2.json.JSONInterceptor"/>
        </interceptors>
    </package>
</struts>


struts.xml配置

Xml代码 复制代码
  1. <?xml version="1.0" encoding="UTF-8" ?>  
  2. <!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.1//EN" "http://struts.apache.org/dtds/struts-2.1.dtd">  
  3. <struts>  
  4.     <package name="struts2.1" extends="json-default">        
  5.         <action name="getXmlAction" class="com.test.action.xml.GetXmlAction"></action>  
  6.         <action name="getJsonAction" class="com.test.action.json.GetJsonAction">  
  7.             <result name="success" type="json">  
  8.                  <!--不包含序列化的属性-->  
  9.                 <param name="excludeProperties">myAge</param>  
  10.                 <!--父类序列化的属性-->  
  11.                 <param name="ignoreHierarchy">false</param>  
  12.                 <!--不包含空值属性-->  
  13.                 <param name="excludeNullProperties">true</param>  
  14.                 <!-- 从person根开始序列化   
  15.                 <param name="root">person</param>  
  16.                 -->  
  17.             </result>  
  18.         </action>  
  19.            
  20.         <action name="getGsonAction" class="com.test.action.json.GetGsonAction"></action>  
  21.        
  22.     </package>  
  23.        
  24. </struts>   
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.1//EN" "http://struts.apache.org/dtds/struts-2.1.dtd">
<struts>
	<package name="struts2.1" extends="json-default">		
		<action name="getXmlAction" class="com.test.action.xml.GetXmlAction"></action>
		<action name="getJsonAction" class="com.test.action.json.GetJsonAction">
			<result name="success" type="json">
			     <!--不包含序列化的属性-->
				<param name="excludeProperties">myAge</param>
				<!--父类序列化的属性-->
				<param name="ignoreHierarchy">false</param>
				<!--不包含空值属性-->
				<param name="excludeNullProperties">true</param>
				<!-- 从person根开始序列化
				<param name="root">person</param>
				-->
			</result>
		</action>
		
		<action name="getGsonAction" class="com.test.action.json.GetGsonAction"></action>
	
	</package>
	
</struts> 


2.action GetJsonAction.java以及javabean Person.java编写

Java代码 复制代码
  1. package com.test.action.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. public class GetJsonAction extends ActionSupport   
  10. {   
  11.     private String name;   
  12.   
  13.     private int id;   
  14.   
  15.     private int age;   
  16.   
  17.     private String address;   
  18.        
  19.     private Date date;    
  20.        
  21.     private Person person = new Person();   
  22.        
  23.     public Person getPerson()   
  24.     {   
  25.         return person;   
  26.     }   
  27.     public void setPerson(Person person)   
  28.     {   
  29.         this.person = person;   
  30.     }   
  31.     //format日期格式化格式  name重命名   serialize=false不序列化次属性   
  32.     @JSON(format = "yyyy-MM-dd", name = "myDate", serialize = false)   
  33.     public Date getDate()   
  34.     {   
  35.         return date;   
  36.     }   
  37.     public void setDate(Date date)   
  38.     {   
  39.         this.date = date;   
  40.     }   
  41.     public String getName()   
  42.     {   
  43.         return name;   
  44.     }   
  45.     public void setName(String name)   
  46.     {   
  47.         this.name = name;   
  48.     }   
  49.     @JSON(serialize = false)   
  50.     public int getId()   
  51.     {   
  52.         return id;   
  53.     }   
  54.     public void setId(int id)   
  55.     {   
  56.         this.id = id;   
  57.     }   
  58.     @JSON(name = "myAge")   
  59.     public int getAge()   
  60.     {   
  61.         return age;   
  62.     }   
  63.     public void setAge(int age)   
  64.     {   
  65.         this.age = age;   
  66.     }   
  67.     @JSON(name = "myAddress")   
  68.     public String getAddress()   
  69.     {   
  70.         return address;   
  71.     }   
  72.     public void setAddress(String address)   
  73.     {   
  74.         this.address = address;   
  75.     }   
  76.     @Override  
  77.     public String execute() throws Exception   
  78.     {   
  79.         //zhangsan   
  80.         Person person1 = new Person();   
  81.         person1.setId(1);   
  82.         person1.setName("zhangsan");   
  83.         person1.setAge(20);   
  84.         person1.setAddress("shanghai");   
  85.         person1.setDate(new Date());   
  86.            
  87.         //lisi   
  88.         Person person2 = new Person();   
  89.         person2.setId(2);   
  90.         person2.setName("lisi");   
  91.         person2.setAge(30);   
  92.         person2.setAddress("tianjin");   
  93.         person2.setDate(new Date());   
  94.            
  95.         if("zhangsan".equals(this.name))   
  96.         {   
  97.             this.id = person1.getId();   
  98.             this.age = person1.getAge();   
  99.             this.address = person1.getAddress();   
  100.             this.date = person1.getDate();   
  101.         }   
  102.         else  
  103.         {   
  104.             this.id = person2.getId();   
  105.             this.age = person2.getAge();   
  106.             this.address = person2.getAddress();   
  107.             this.date = person2.getDate();   
  108.         }   
  109.            
  110.         return SUCCESS;   
  111.     }   
  112. }  
package com.test.action.json;

import java.util.Date;

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

import com.opensymphony.xwork2.ActionSupport;

public class GetJsonAction extends ActionSupport
{
	private String name;

	private int id;

	private int age;

	private String address;
	
	private Date date; 
	
	private Person person = new Person();
	
	public Person getPerson()
	{
		return person;
	}
	public void setPerson(Person person)
	{
		this.person = person;
	}
    //format日期格式化格式  name重命名   serialize=false不序列化次属性
	@JSON(format = "yyyy-MM-dd", name = "myDate", serialize = false)
	public Date getDate()
	{
		return date;
	}
	public void setDate(Date date)
	{
		this.date = date;
	}
	public String getName()
	{
		return name;
	}
	public void setName(String name)
	{
		this.name = name;
	}
	@JSON(serialize = false)
	public int getId()
	{
		return id;
	}
	public void setId(int id)
	{
		this.id = id;
	}
	@JSON(name = "myAge")
	public int getAge()
	{
		return age;
	}
	public void setAge(int age)
	{
		this.age = age;
	}
	@JSON(name = "myAddress")
	public String getAddress()
	{
		return address;
	}
	public void setAddress(String address)
	{
		this.address = address;
	}
	@Override
	public String execute() throws Exception
	{
		//zhangsan
		Person person1 = new Person();
		person1.setId(1);
		person1.setName("zhangsan");
		person1.setAge(20);
		person1.setAddress("shanghai");
		person1.setDate(new Date());
		
		//lisi
		Person person2 = new Person();
		person2.setId(2);
		person2.setName("lisi");
		person2.setAge(30);
		person2.setAddress("tianjin");
		person2.setDate(new Date());
		
		if("zhangsan".equals(this.name))
		{
			this.id = person1.getId();
			this.age = person1.getAge();
			this.address = person1.getAddress();
			this.date = person1.getDate();
		}
		else
		{
			this.id = person2.getId();
			this.age = person2.getAge();
			this.address = person2.getAddress();
			this.date = person2.getDate();
		}
		
		return SUCCESS;
	}
}

 

Java代码 复制代码
  1. /**  
  2.  *   
  3.  */  
  4. package com.test.action.json;   
  5.   
  6. import java.util.Date;   
  7.   
  8. /**  
  9.  * @author Administrator  
  10.  *   
  11.  */  
  12. public class Person {   
  13.     private int id;   
  14.     private String name;   
  15.     private int age;   
  16.     private String address;   
  17.     private Date date;   
  18.        
  19.   
  20.     public Date getDate() {   
  21.         return date;   
  22.     }   
  23.   
  24.     public void setDate(Date date) {   
  25.         this.date = date;   
  26.     }   
  27.   
  28.     public int getId() {   
  29.         return id;   
  30.     }   
  31.   
  32.     public void setId(int id) {   
  33.         this.id = id;   
  34.     }   
  35.   
  36.     public String getName() {   
  37.         return name;   
  38.     }   
  39.   
  40.     public void setName(String name) {   
  41.         this.name = name;   
  42.     }   
  43.   
  44.     public int getAge() {   
  45.         return age;   
  46.     }   
  47.   
  48.     public void setAge(int age) {   
  49.         this.age = age;   
  50.     }   
  51.   
  52.     public String getAddress() {   
  53.         return address;   
  54.     }   
  55.   
  56.     public void setAddress(String address) {   
  57.         this.address = address;   
  58.     }   
  59.   
  60. }
分享到:
评论

相关推荐

    AjaxStruts2Json实例

    **AjaxStruts2Json实例详解** 在Web开发中,用户界面的实时性和互动性变得越来越重要,这使得异步更新技术如Ajax(Asynchronous JavaScript and XML)被广泛应用。Ajax允许网页在不重新加载整个页面的情况下与...

    Struts2 Json示例(Maven项目)

    在这个"Struts2 Json示例(Maven项目)"中,我们将会深入探讨如何在Struts2框架下实现JSON(JavaScript Object Notation)数据交换,以及如何结合Maven进行项目构建。 JSON是一种轻量级的数据交换格式,易于人阅读...

    struts2 json plugin jar包

    struts2 json plugin jar包

    struts2 json Ajax 整合所需全部jar包.zip

    Struts2、JSON和Ajax是Web开发中的三个关键组件,它们在构建动态、交互式的Web应用程序中发挥着重要作用。Struts2是一个强大的MVC(Model-View-Controller)框架,用于组织和管理Java web应用程序的结构。JSON...

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

    Struts2的JSON插件正是为了方便开发者在Struts2框架中处理JSON数据而设计的。 首先,让我们深入了解JSON。JSON是一种独立于语言的数据交换格式,具有易于人阅读和编写,同时也易于机器解析和生成的特点。它的数据...

    struts2+json

    这个资源"struts2+json"显然涉及到在Struts2框架下实现JSON(JavaScript Object Notation)数据交换,这是一种轻量级的数据交换格式,广泛用于前后端交互,特别是AJAX(Asynchronous JavaScript and XML)请求。...

    struts2 json传输对象文档+jar包

    标题提到的"struts2 json传输对象文档"是指Struts2支持JSON格式的数据传输,使得Action类可以直接返回JSON对象,以便在客户端进行处理。这种功能极大地提高了Web应用的响应速度和用户体验,因为可以避免不必要的页面...

    struts2jsonajax

    Struts2、JSON和AJAX是Web开发中的关键技术,它们在构建动态、交互式的Web应用程序中发挥着重要作用。Struts2是一个基于MVC(Model-View-Controller)设计模式的Java Web框架,它极大地简化了Java应用的开发过程。...

    TestStruts2JSON程序源码

    "TestStruts2JSON"程序源码很显然是一个用于测试Struts2框架如何处理和返回JSON数据的示例。 在Struts2中,JSON支持是通过Struts2的插件系统实现的,主要涉及到以下几个关键知识点: 1. **Struts2 JSON插件**:...

    struts2所需的包和Struts2_json所需包

    2. **Struts2 JSON插件**:Struts2提供了一个JSON插件(`struts2-json-plugin.jar`),它允许我们将Action的返回值直接转换为JSON格式,便于前后端数据交换。这个插件简化了原本需要手动序列化对象到JSON字符串的...

    struts2json.rar_DEMO

    Struts2JSON是一款用于在Struts2框架中处理JSON(JavaScript Object Notation)数据的插件,它使得Struts2应用程序能够轻松地与前端的AJAX(Asynchronous JavaScript and XML)进行交互。这个"struts2json.rar_DEMO...

    struts2 json例子 可执行

    1. **Struts2 JSON插件**:为了在Struts2中启用JSON支持,你需要添加Struts2的JSON插件到项目类路径中。这个插件通常包含在struts2-core库中,或者你可以单独下载。通过在`struts.xml`配置文件中引入相应的拦截器栈...

    mongo集成spring struts2 json velocity

    在"mongo集成spring struts2 json velocity"这个项目中,我们将看到如何将这些技术整合到一起,创建一个功能丰富的Web应用程序。 首先,MongoDB的集成意味着项目会利用其NoSQL特性和文档存储的优势。Spring Data ...

    Struts2Json example

    在Struts2中,JSON(JavaScript Object Notation)插件允许开发者将服务器端的数据以JSON格式返回到客户端,例如AJAX请求。JSON是一种轻量级的数据交换格式,它易于读写,对人类友好,同时也方便机器解析和生成。 ...

    Struts2 json插件入门指南.pdf

    ### Struts2 JSON插件入门知识点详解 #### 1. 依赖包 - **Struts2 必需的 6 个 jar 包** - `commons-fileupload-1.2.2.jar`: 提供了文件上传功能的支持。 - `commons-io-2.0.1.jar`: 用于处理I/O操作,简化输入...

    struts2 json extjs 完整实例

    struts2 json extjs 完整实例 struts2 json extjs 完整实例 完整可用 无错! struts2 json extjs 完整实例 struts2 json extjs 完整实例 完整可用 无错! struts2 json extjs 完整实例 struts2 json extjs 完整...

    struts2与json整合

    在探讨“Struts2与JSON整合”的主题时,我们深入分析了如何在Struts2框架中集成JSON技术,实现前后端数据的高效交互。Struts2作为一款流行的Java Web开发框架,提供了丰富的功能来简化Web应用程序的开发过程。而JSON...

    struts2_spring_json.rar_liferay struts2 json_portlet json_spring

    在标题和描述中提到的"struts2_spring_json.rar"是一个关于如何在Liferay中利用Struts2和Spring框架处理JSON数据的示例应用。 JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,常用于前后端交互,...

    struts2必备包+json包.rar

    Struts2为了支持JSON数据的处理,提供了专门的插件——Struts2 JSON Plugin。 **Struts2 JSON Plugin** Struts2 JSON Plugin使得Action可以直接返回JSON对象,无需额外的转换步骤。这个插件添加了对JSON的内置支持...

Global site tag (gtag.js) - Google Analytics