扒开腿挺进岳湿润的花苞视频|将军边走边挺进她H树林|挺进朋友人妻张婉莹身体|岳脱得精光让我挺进去视频|第一次挺进莹莹的身体里视频|脱岳裙子从后面挺进去视频

新疆軟件開(kāi)發(fā)

本站首頁(yè) 軟件開(kāi)發(fā) 成功案例 公司新聞 公司簡(jiǎn)介 客服中心 軟件技術(shù) 網(wǎng)站建設(shè)
  您現(xiàn)在的位置: 新疆二域軟件開(kāi)發(fā)公司 >> Java技術(shù) >> 文章正文

JSon插件在Struts 2中的使用

JSON插件提供了一種名為json的ResultType,一旦為某個(gè)Action指定了一個(gè)類(lèi)型為json的Result,則該Result無(wú)需映射到任何視圖資源。因?yàn)镴SON插件會(huì)負(fù)責(zé)將Action里的狀態(tài)信息序列化成JSON格式的數(shù)據(jù),并將該數(shù)據(jù)返回給客戶(hù)端頁(yè)面的JavaScript。

  簡(jiǎn)單地說(shuō),JSON插件允許我們?cè)贘avaScript中異步調(diào)用Action,而且Action不再需要使用視圖資源來(lái)顯示該Action里的狀態(tài)信息,而是由JSON插件負(fù)責(zé)將Action里的狀態(tài)信息返回給調(diào)用頁(yè)面——通過(guò)這種方式,就可以完成Ajax交互。

  Struts2提供了一種可插拔方式來(lái)管理插件,安裝Struts2的JSON插件與安裝普通插件并沒(méi)有太大的區(qū)別,一樣只需要將Struts2插件的JAR文件復(fù)制到Web應(yīng)用的WEB-INF/lib路徑下即可。

  安裝JSON插件按如下步驟進(jìn)行:

  (1)登陸http://code.google.com/p/jsonplugin/downloads/list站點(diǎn),下載Struts2的JSON插件的最新版本,當(dāng)前最新版本是0.7,我們可以下載該版本的JSON插件。

 。2)將下載到的jsonplugin-0.7.jar文件復(fù)制到Web應(yīng)用的WEB-INF路徑下,即可完成JSON插件的安裝。

  實(shí)現(xiàn)Actio邏輯

  假設(shè)wo,en輸入頁(yè)面中包含了三個(gè)表單域,這三個(gè)表單域?qū)τ谌齻(gè)請(qǐng)求參數(shù),因此應(yīng)該使用Action來(lái)封裝這三個(gè)請(qǐng)求參數(shù)。三個(gè)表單域的name分別為field1、field2和field3。

  處理該請(qǐng)求的Action類(lèi)代碼如下:

public class JSONExample
{
 //封裝請(qǐng)求參數(shù)的三個(gè)屬性
 private String field1;
 private transient String field2;
 private String field3;
 //封裝處理結(jié)果的屬性
 private int[] ints = {10, 20};
 private Map map = new HashMap();
 private String customName = "custom";
 //三個(gè)請(qǐng)求參數(shù)對(duì)應(yīng)的setter和getter方法
 public String getField1()
 {
  return field1;
 }
 public void setField1(String field1)
 {
  this.field1 = field1;
 }
 //此處省略了field1和field2兩個(gè)字段的setter和getter方法
 ...
 //封裝處理結(jié)果的屬性的setter和getter方法
 public int[] getInts()
 {
  return ints;
 }
 public void setInts(int[] ints)
 {
  this.ints = ints;
 }
 public Map getMap()
 {
  return map;
 }
 public void setMap(Map map)
 {
  this.map = map;
 }
 //使用注釋語(yǔ)法來(lái)改變?cè)搶傩孕蛄谢蟮膶傩悦?BR> @JSON(name="newName")
 public String getCustomName()
 {
  return this.customName;
 }
 public String execute()
 {
  map.put("name", "yeeku");
  return Action.SUCCESS;
 }
}
  在上面代碼中,使用了JSON注釋?zhuān)⑨寱r(shí)指定了name域,name域指定Action屬性被序列化成JSON對(duì)象的屬性名。除此之外,JSON注釋還支持如下幾個(gè)域:

  serialize:設(shè)置是否序列化該屬性
  deserialize:設(shè)置是否反序列化該屬性。
  format:設(shè)置用于格式化輸出、解析日期表單域的格式。例如"yyyy-MM-dd'T'HH:mm:ss"。

  配置該Action與配置普通Action存在小小的區(qū)別,應(yīng)該為該Action配置類(lèi)型為json的Result。而這個(gè)Result無(wú)需配置任何視圖資源。

  配置該Action的struts.xml文件代碼如下:

<?xml version="1.0" encoding="GBK"?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
"<struts>
。糲onstant name="struts.i18n.encoding" value="UTF-8"/>
 <package name="example" extends="json-default">
 。糰ction name="JSONExample" class="lee.JSONExample">
  。紃esult type="json"/>
  </action>
。/package>
</struts>
  在上面配置文件中有兩個(gè)值得注意的地方:

  第一個(gè)地方是配置struts.i18n.encoding常量時(shí),不再是使用GBK編碼,而是UTF-8編碼,這是因?yàn)锳jax的POST請(qǐng)求都是以UTF-8的方式進(jìn)行編碼的。

  第二個(gè)地方是配置包時(shí),自己的包繼承了json-default包,而不再繼承默認(rèn)的default包,這是因?yàn)橹挥性谠摪虏庞衘son類(lèi)型的Result。

 

作者:未知 | 文章來(lái)源:新疆二域軟件開(kāi)發(fā)網(wǎng) | 更新時(shí)間:2007-10-8 22:38:59

  • 上一篇文章:

  • 下一篇文章:

  • 相關(guān)文章:
    沒(méi)有相關(guān)文章
    軟件技術(shù)
    · 開(kāi)發(fā)語(yǔ)言
    · Java技術(shù)
    · .Net技術(shù)
    · 數(shù)據(jù)庫(kù)開(kāi)發(fā)
    最新文章  
    ·j2se 嵌入式腳本抓取引擎
    ·JAVA開(kāi)發(fā)的6個(gè)實(shí)踐的例子
    ·JBuilder7 / Weblogic7開(kāi)發(fā)
    ·JAVA中的抽象類(lèi)型的一些概
    ·java語(yǔ)言開(kāi)發(fā)程序中的幾個(gè)
    ·了解java開(kāi)發(fā)語(yǔ)言在軟件開(kāi)
    ·如何才能使用Java實(shí)現(xiàn)內(nèi)部
    ·Java開(kāi)發(fā)學(xué)習(xí)小心使用Date
    ·Java程序員應(yīng)該了解那些開(kāi)
    ·java性能優(yōu)化的一些見(jiàn)解
    ·介紹JDK5.0一些collection
    ·基礎(chǔ)學(xué)習(xí):java中使用存儲(chǔ)
    ·解析c#語(yǔ)言和java語(yǔ)言最相
    ·Java語(yǔ)言學(xué)習(xí):jAVA中 的多
    ·Java是不是應(yīng)該增加新特性
    關(guān)于我們 | 軟件開(kāi)發(fā) | 下載試用 | 客服中心 | 聯(lián)系我們 | 友情鏈接 | 網(wǎng)站地圖 | 新疆電子地圖 | RSS訂閱
    版權(quán)所有 © 2016 新疆二域軟件開(kāi)發(fā)網(wǎng) m.jdtbank.com All Rights Reserved 新ICP備14003571號(hào)
    新疆軟件開(kāi)發(fā)總機(jī):0991-4842803、4811639.
    客服QQ:596589785 ;地址:新疆烏魯木齊北京中路華聯(lián)大廈A-5C 郵編:830000
     
    毕节市| 朝阳县| 唐河县| 陇川县| 屏东市| 措勤县| 云和县| 威宁| 河池市| 哈巴河县| 阿城市| 开封市| 福泉市| 凤山市| 和静县| 依兰县| 武邑县| 霍城县| 古田县| 嘉鱼县| 璧山县| 浮梁县| 内丘县| 雅江县| 明光市| 六安市| 安仁县| 蓬莱市| 新野县| 龙川县| 沾化县| 当雄县| 文登市| 遵化市| 广水市| 抚宁县| 许昌市| 房产| 盐津县| 博爱县| 安溪县|