成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

利用JSON插件進行數據交換格式

開發
我們想要從Action返回到調用頁面的數據。這個時候配置includeProperties或者excludeProperties攔截器即可。而這2個攔截器的定義都在struts2的json-default包內。

JSON(Java Script Object Notation),是一種語言無關的數據交換格式。 JSON插件是Structs 2 的Ajax插件,通過利用JSON插件,開發者可以很方便,靈活的利用Ajax進行開發。

Json是一種輕量級的數據交換格式,JSon插件提供了一種名為json的Action ResultType 。一旦為Action指定了該結果處理類型,JSON插件就會自動將Action里的數據序列化成JSON格式的數據,并返回給客戶端物理視圖的JavaScript。簡單的說,JSON插件允許我們在JavaScript中異步的調用Action。#t#

而且Action不需要指定視圖來顯示Action的信息顯示而是由JSON插件來負責具體將Action里面具體的信息返回給調用頁面。Json的數據格式可簡單如下形式: person = { name: 'Jim',age: 18,gender: 'man'}。

如果action的屬性很多,我們想要從Action返回到調用頁面的數據。這個時候配置includeProperties或者excludeProperties攔截器即可。而這2個攔截器的定義都在struts2的json-default包內,所以要使用該攔截器的包都要繼承自json-default。

  1. <struts> 
  2.     <constant name="struts.objectFactory" value="spring"/>       
  3.     <include file="struts-admin.xml"></include>   
  4.     <package name="default" extends="json-default">   
  5.         <action name="person" class="com.person.PersonAction" method="view"> 
  6.         <result type="json"> 
  7.            <param name="includeProperties">             
  8.             person\.name,persoon\.age,person\.gender             
  9.            </param>>             
  10.         </result> 
  11.         </action> 
  12.     </package>         
  13. </struts> 

利用Struts 2的支持的可配置結果,可以達到過濾器的效果。Action的處理結果配置支持正則表達式。但是如果返回的對象是一個數組格式的Json數據。比如peson Bean中有對象persion1...person9,而我只要JSON插件,則可以用如下的正則表達式。

  1. <struts> 
  2.     <constant name="struts.objectFactory" value="spring"/>       
  3.     <include file="struts-admin.xml"></include>   
  4.     <package name="default" extends="json-default">   
  5.         <action name="person" class="com.person.PersonAction" method="view"> 
  6.         <result type="json"> 
  7.            <param name="includeProperties">             
  8.             person\.name,persoon\.age,person\.gender             
  9.            </param>>             
  10.         </result> 
  11.         </action> 
  12.     </package>         
  13. </struts> 
  14. 利用Struts 2的支持的可配置結果,可以達到過濾器的效果。Action的處理結果配置支持正則表達式。  
  15. 但是如果返回的對象是一個數組格式的Json數據。比如peson Bean中有對象persion1...person9,而我只要person1的json數據,  
  16. 則可以用如下的正則表達式。  
  17. <struts> 
  18.     <constant name="struts.objectFactory" value="spring"/>       
  19.     <include file="struts-admin.xml"></include>   
  20.     <package name="default" extends="json-default">   
  21.         <action name="person" class="com.person.PersonAction" method="view"> 
  22.         <result type="json"> 
  23.            <param name="includeProperties">             
  24.             person\[\d+\]\.person1  
  25.            </param>>             
  26.         </result> 
  27.         </action> 
  28.     </package>         
  29. </struts> 
  30. excludeProperties攔截器的用法與此類同,如果攔截的僅僅是一個對象,如果攔截掉person Bean的整個對象。  
  31. <struts> 
  32.     <constant name="struts.objectFactory" value="spring"/>       
  33.     <include file="struts-admin.xml"></include>   
  34.     <package name="default" extends="json-default">   
  35.         <action name="person" class="com.person.PersonAction" method="view"> 
  36.         <result type="json"> 
  37.            <param name="excludeProperties">             
  38.             person  
  39.            </param>>             
  40.         </result> 
  41.         </action> 
  42.     </package>         
  43. </struts> 

需要注意的是,如果用JSON插件把返回結果定為JSON。而JSON的原理是在ACTION中的get方法都會序列化,所以前面是get的方法只要沒指定不序列化,都會執行,那么可以在該方法的前面加注解聲明該方法不做序列化。

  1. public String getName()   
  2.  {  
  3.   return this.name;  
  4.  }  
  5. 需要引入 import com.googlecode.jsonplugin.annotations.JSON;  
  6.  
  7. @JSON(serialize=false)  
  8. public User getUser() {  
  9.     return this.User;  
  10. }  
  11.  
  12. @JSON(format="yyyy-MM-dd")  
  13. public Date getStartDate() {  
  14.     return this.startDate;  
責任編輯:chenqingxiang 來源: 清華大學出版社
相關推薦

2009-01-19 09:28:42

JSONJavaScriptJSON結構

2009-06-22 17:57:26

IExtendProv

2010-09-30 10:46:50

J2MEJSONJ2EE

2021-10-15 09:00:02

Python日期轉換Python基礎

2023-05-05 19:29:41

2009-11-09 17:17:31

WCF元數據交換

2022-02-21 07:51:11

JSON數據網絡

2018-08-31 21:00:39

數據交換模型數據模型應用程序

2010-01-15 10:19:42

數據交換技術

2023-07-19 19:45:12

EDI人工智能

2019-11-22 08:40:19

ProtobufGo編程語言

2019-04-29 10:21:58

JSONXML前端

2024-08-07 12:28:06

2017-12-01 12:09:34

2019-01-03 15:40:38

數據庫SQL查詢JSON

2019-09-04 00:20:10

JSON泛型擦除

2022-05-18 14:17:00

黑客漏洞網絡攻擊

2010-01-07 17:48:02

JSON結構

2020-06-05 14:29:07

PythonPandas數據分析

2012-03-21 09:31:51

ibmdw
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 国产91亚洲精品一区二区三区 | 天天艹逼网 | 蜜月aⅴ免费一区二区三区 99re在线视频 | 亚洲 欧美 日韩 精品 | 久久午夜电影 | 成人精品国产一区二区4080 | 久久久国产精品一区 | 狠狠夜夜 | 国产精品一区二区视频 | 黄色大片免费网站 | 性色av一区二区三区 | 久久成人国产精品 | 亚洲国产精品va在线看黑人 | 一区二区三区在线看 | 欧美三区| 中日av | 天天干天天草 | 91久久精品一区二区二区 | 最近日韩中文字幕 | 色婷婷综合成人av | 一级片在线观看 | 古装三级在线播放 | 日韩毛片在线视频 | 亚洲视频在线播放 | 欧美专区日韩专区 | 亚洲免费在线 | 伊人伊人伊人 | www.日韩欧美 | 亚洲天堂中文字幕 | 欧美日韩不卡合集视频 | 国产无套一区二区三区久久 | 欧美日韩国产中文 | 国产精品18久久久久久白浆动漫 | 蜜臀久久99精品久久久久久宅男 | 欧美一区二区三区视频 | 日本黄色免费大片 | 日日干干 | 亚洲三级在线 | 国产精品美女久久久久久免费 | 狠狠操狠狠干 | 国产日韩一区二区三免费 |