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

Struts2權威指南(完整版)含源碼

開發 后端
這本Struts 2權威指南,老是得在一大堆東西里面找自己需要的。看起來有些累,不過確實一本很好的資料,光看其實是看不出什么的,還是得自己動手做做,好在里面例子的源碼都有,不過話說回來,有對比才能知道差異。本文將為大家做總結。

Struts2權威指南里介紹,并結合筆者在此之前也用過webwork和struts1,不過還是對webwork更熟一些,好在struts2比較接近webwork,所以學習成本相對不高,struts2的好處就不說了,說說差異吧。

1、相對struts1而言,沒有了formbean,表單代碼不需要一定要使用struts提供的html標簽,一般的html表單標簽照樣可以使用,耦合度學習成本都低了很多。想想struts1,不用它自身提供的html標簽,表單元素就不能注入,除action外,還得另外再寫一個formbean,而且只能注入java基本數據類型,代碼冗余太多,配置太復雜;

2、之前使用struts1時,除標簽使用不習慣外,就是對象的屬性注入了,struts2終于可以使用(對象.屬性)的方式進行注入,例:< INPUT name=picture.id>,方便啊!!

3、action不用繼承任何父類,也不用實現任何接口,相當于一個簡單的對象了,這比webwork高級了。從頁面傳下的參數以及從action傳到頁面的參數,都是通過攔截器完成的。以下是常用的幾種實現action的方式,當然也有其他方式,具體可以看看API。

1) Action可以不用繼承任何父類實現任何接口,不用與Servlet API耦合,也不用與struts2 API耦合可以只是一個普通的pojo,包含getter和setter方法以及execute方法。運用struts2的攔截器機制,負責解析用戶的請求參數,并將請求參數賦值給Action對應的屬性。但,這種action類沒有與javabean交互,沒有將業務邏輯操作的結果顯示給客戶端。

2) 接口Action,這個接口只定義execute方法和5個標準字符串常量:SUCCESS\NONE\ERROR\INPUT\LOGIN,可以簡化execute方法的返回值。

3) 繼承ActionSupport,ActionSupport是個工具類,已經實現了Action接口,還實現了Validateable接口,提供了數據校驗功能。具體可以看API文檔。重寫Validateable接口中定義的validate方法,如果表單輸入錯誤,則將錯誤添加到ActionSupport的fieldErrors中,然后通過OGNL表達式輸出。validate方法在execute方法之前執行,數據校驗錯誤,請求將被轉發到input邏輯試圖處。當然,也可不重寫validate方法,運用配置文件進行數據校驗。此外,ActionSupport提供了國際化信息的能力getText。

4、List元素類型的注入,webwork提供了數組類型的輸入,但是對象List的注入不行。舉個簡單的例子,上傳圖片時,用戶可能會一次性上傳一張,也可能會一次性就上傳n張,不確定的對象個數。
     

1)private List< PICTURE> pictureList; //圖片對象list
           圖片1< INPUT name=pictureList[0].description>
           圖片2< INPUT name=pictureList[1].description>
           輸出:< ?xml:namespace prefix = ww />
< ww:iterator value="pictureList">< ww:property value="description">< /ww:property>< /ww:iterator>
2)private String[] description;   //字符串數組
          描述1< INPUT name=description>
          描述2< INPUT name=description>
          輸出:< ww:iterator value="description">< ww:property>< /ww:property>< /ww:iterator>   

webwork***種方式是不能自動注入的,但是第二種可以;現在struts2兩種方式都能實現,方便!!

5、 Struts標簽只認標準的getter和setter方法,而對于boolean類型的屬性,eclipse自動生成的get、set方法是不標準的。比如:定義boolean值屬性時是 isXxxxx,用Eclipse生成的getter和setter就是setXxxxx(boolean isXxxxx),isXxxxx(),而Struts2.0的轉換器對boolean的轉換用的是setIsXxxxx(boolean isXxxxx), getIsXxxxx();又比如boolean屬性名為xxx,Eclipse生成的方法為isXxx ()和setXxx(boolean xxx),而struts2用戶的是getXxx(), setXxx(boolean isXxxxx)。但是Eclipse自動生成的get、set方法,ibatis能夠自動注入,而標準的get、set方法ibatis也能注入。

6、 初始化spring容器的兩個方式:

1) ContextLoaderListener。如果沒有contextConfigLocation的配置,spring自動查找WEB-INF路徑下的applicationContext.xml文件。

Struts2權威指南"" 

2) Listener是Servlet2.3之后才出現的規范,所以如果Web服務器不支持2.3以上的規范,則listener無法使用,那么就采用load-on-startup的Servlet,與Listener的作用大致相同。Listener總比所有的Servlet更優先加載,因此,采用ContextLoaderListener創建ApplicationContext的時機更早。

 

Struts2權威指南" 

 

ok,先寫這么多吧。因為跟webwork差不多,所以也就沒啥感覺了。總之,80%的時候都是用它20%的功能,其余20%的時候多查查資料也能搞定,總的來說這本Struts 2權威指南還是有一定價值的。

【編輯推薦】

  1. 在Eclipse中開發struts應用程序
  2. 手把手教你在Eclipse中配置開發Struts
  3. Eclipse下開發struts完整解決亂碼問題
  4. Struts相關背景介紹
  5. 使用Easy Struts for Eclipse開發Struts
責任編輯:張燕妮 來源: sina.com
相關推薦

2022-09-06 14:57:27

物聯網物聯網安全

2020-11-11 00:40:35

云計算混合云私有云

2020-11-01 17:01:00

Python字典開發

2010-04-26 01:07:07

雙線負載均衡

2012-04-25 10:14:40

JavaStruts

2010-09-14 14:07:56

2010-09-27 09:18:55

2009-03-11 08:46:46

Chrome瀏覽器更新

2009-07-29 09:54:34

struts2和str

2012-08-30 09:48:02

Struts2Java

2009-06-25 15:11:28

Struts2教程Struts2程序

2015-07-10 09:47:43

CSSMacBook Air

2011-07-01 10:23:41

Ubuntu Qt Creator

2009-02-04 10:51:07

2010-09-17 17:24:44

2017-07-20 10:35:51

2011-09-19 16:17:02

Java

2019-01-23 08:48:50

跨域協議端口

2017-07-19 16:17:53

2009-07-03 09:35:57

Struts2 JSP
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 98久久| 欧美精品在线一区二区三区 | 久久久欧洲| 一区二区在线免费观看 | 国产综合精品一区二区三区 | 青青久草| h片在线看 | 免费一区二区 | 久久精品中文 | 二区成人 | 日韩精品在线观看一区二区三区 | 亚洲a一区二区 | 日日操夜夜操天天操 | 精品视频在线播放 | aa级毛片毛片免费观看久 | 国产精品久久久久久久久久久久久 | 国产精品国产精品国产专区不片 | 亚洲一区二区av在线 | 亚洲成人三级 | 国产精品亚洲精品日韩已方 | 午夜在线小视频 | 久久蜜桃资源一区二区老牛 | 狠狠ri | 日韩毛片在线视频 | 久久亚洲免费 | 久久一及片 | 成人在线免费观看视频 | 国产成人精品一区二三区在线观看 | 精品九九 | 中文字幕在线免费 | 中文字幕一区在线观看视频 | 美国一级片在线观看 | 91porn国产成人福利 | 男女免费网站 | 欧美极品在线 | 免费观看一级特黄欧美大片 | 久久久成人免费视频 | 99九九视频| 国产偷久久一级精品60部 | 色综合久久天天综合网 | 日韩一区二区三区在线观看 |