隨筆 - 312, 文章 - 14, 評論 - 1393, 引用 - 0
          數據加載中……

          Struts2.1.6測試小記

          本文為原創,如需轉載,請注明作者和出處,謝謝!

              Struts2.1.x終于推出正式版了,迫不急待地下了試試(讀者可以從http://struts.apache.org/download.cgi#struts216下載)。從這個版本所帶的jar包上看豐富了很多。很多jar包的版本也有所提升。
              下載后按著Struts 2.0.14版的方法進行配置,將我以前做的一些程序移植到Struts2.1.6上,啟動Tomcat,暈暈,竟然拋出異常說無法裝載org.apache.struts2.dispatcher.multipart.MultiPartRequest,看一下異常信息,提示沒找到org.apache.commons.fileupload.RequestContext類,但在struts2.0.14中并不需要這個類。于是搜索struts2.1.6帶的jar包,發現RequestContext類在commons-fileupload-1.2.1.jar包中,但struts2.0.14并沒有這個包。可能是struts2.1.6對文件上傳功能的改進,因此,要想正常使用struts2.1.6,至少需要如下6個jar包:
          • struts2-core-2.1.6.jar
          • freemarker-2.3.13.jar
          • commons-logging-1.0.4.jar
          • ognl-2.6.11.jar
          • xwork-2.1.2.jar
          • commons-fileupload-1.2.1.jar
              要注意的是,Struts 2.1.6的最小jar包配置比Struts2.0.14多了一個commons-fileupload-1.2.1.jar。Struts2.0.x所需要的最小jar包請讀者參閱《Struts2教程1:第一個Struts2程序》,在這篇文章中使用了Struts2.0.11.1,該版本與Struts2.0.14類似。
              如果要使用Struts2的注釋功能,在Struts2.0.14中只要引用了struts2-core-2.1.6.jar文件即可,而在struts2.1.6中還需要引用struts2-convention-plugin-2.1.6.jar文件,而且注釋類的包也變了(又增加了一些新的注釋類),Struts2.0.14中的注釋類在org.apache.struts2.config包中,而struts2.1.6的注釋類在org.apache.struts2.convention.annotation包中。除此之外,有些注釋的屬性名也變了,如Result注釋在struts2.0.14中有一個value屬性,表示一個要轉入的URL,而在Struts2.1.6的Result注釋中使用location屬性代替了value屬性(不再有value屬性了),但它們的使用方法相同。

              因此,讀者在使用Struts2.1.x時要注意,這一版本與Struts2.0.x并不完全兼容(但大部分還是兼容的)。據我的經驗,Struts2.1.x版本將是比較穩定的一個Struts2版本,因此,Struts1.x就是在Struts1.1版本才開始流行起來的。
              以前也測試過Struts2的其他版本,經部分測試,目前Struts 2分為三個版本階段:Struts 2.0.9及以前版本、Struts2.0.10至Struts2.0.14、Struts 2.1.x, 這三類版本都不太兼容,如果確定使用struts2來開發程序,建議直接使用struts2.1.6及以后的版本,這是一個比較穩定的Struts2版本。




          Android開發完全講義(第2版)(本書版權已輸出到臺灣)

          http://product.dangdang.com/product.aspx?product_id=22741502



          Android高薪之路:Android程序員面試寶典 http://book.360buy.com/10970314.html


          新浪微博:http://t.sina.com.cn/androidguy   昵稱:李寧_Lining

          posted on 2009-02-06 12:55 銀河使者 閱讀(5512) 評論(14)  編輯  收藏 所屬分類: Struts2 、java 、 原創

          評論

          # re: Struts2.1.6測試小記  回復  更多評論   

          看了下文檔struts2-convention-plugin零配置下似乎一個action只能對應一個方法
          不支持這種類型,一個action多個方法的如
          xx_list.do
          xx_edit.do
          xx_add.do
          這樣有點麻煩.希望后面版本能支持

          2009-02-06 14:19 | altchen

          # re: Struts2.1.6測試小記  回復  更多評論   

          Strus2 中慣常的一個 action 對應多個方法的用法如下:

          xx!list.action
          xx!edit.action
          xx!add.action

          不過樓上說的 struts2-convention-plugin零配置倒是還沒用過。
          2009-02-06 17:46 | 隔葉黃鶯

          # re: Struts2.1.6測試小記  回復  更多評論   

          @隔葉黃鶯
          是的,如果通過配置文件來實現多個方法,可以通過url的方式來實現(使用?。部梢栽?lt;action>元素中使用method屬性來配置。
          但使用注釋還沒有試過是否可以使用這種方式。
          2009-02-06 18:20 | 銀河使者

          # re: Struts2.1.6測試小記[未登錄]  回復  更多評論   

          試了一下了面的AJAX,但是發現里面的JS特性不支持IE6啊
          2009-02-07 21:57 | zero

          # re: Struts2.1.6測試小記  回復  更多評論   

          @zero
          試的哪個ajax特性
          2009-02-07 22:24 | 銀河使者

          # re: Struts2.1.6測試小記[未登錄]  回復  更多評論   

          @銀河使者
          一段dojo-plugin的,從Struts2官方弄的有關按鈕響應的例子測試,結果只有FF有反應
          2009-02-09 11:43 | zero

          # re: Struts2.1.6測試小記[未登錄]  回復  更多評論   

          這以前試的struts2.0.11有的只有ie里好使,firefox里不好使啊。ajax要實現真正的跨瀏覽器是很困難的
          2009-02-09 11:59 | 銀河使者

          # re: Struts2.1.6測試小記[未登錄]  回復  更多評論   

          @銀河使者
          那看來目前struts2說的AJAX還是很難拿來做實際項目的樣子
          2009-02-09 12:09 | zero

          # re: Struts2.1.6測試小記  回復  更多評論   

          如果用ajax,可以用其他的,如jquery,struts 2本身的ajax功能不太好用,也比較復雜。不知道struts 2中的ajax是自己做的,還是集成的。
          2009-02-09 12:43 | 銀河使者

          # re: Struts2.1.6測試小記[未登錄]  回復  更多評論   

          @銀河使者
          呵呵,偶還是剛開始學web開發,struts2才接觸一些,那我還有的看了

          我看官方說的是 struts2.x的ajax一直是基于dojo的一個較早的版本,2.1.6開始將dojo提出來作為ajax插件,從此struts2要用ajax特性就要加入dojo的插件庫,以及dojo-plugin的taglib
          2009-02-09 13:18 | zero

          # re: Struts2.1.6測試小記  回復  更多評論   

          @zero
          不用struts2的ajax也行,自己用其他的ajax framework,繞過struts 2。
          struts 2分為兩部分,后端的攔截器,action等,以及前臺的struts 2標簽,這些標簽并不是必須的,也可直接用html表單。struts 2的標簽有時排版有些別扭,要想排好,還得了解struts 2中的模板。而且這些不能在象dreamweaver中設計。
          2009-02-09 13:30 | 銀河使者

          # re: Struts2.1.6測試小記[未登錄]  回復  更多評論   

          @銀河使者
          恩,確實,
          貌似無論是從那個地方下手,想把東西做好做炫,還是得很熟悉“底層”的東西才行,
          目前正在研究...

          PS:框架為實際的需求想的還是少了點點的樣子
          2009-02-10 14:28 | zero

          # re: Struts2.1.6測試小記  回復  更多評論   

          struts2.16類型轉換是不是有bug呢。double如果值為0.00都拋異常ognl.MethodFailedException: [java.lang.NoSuchMethodException:
          2009-04-13 13:13 | ccue

          # re: Struts2.1.6測試小記  回復  更多評論   

          @ccue
          拋出java.lang.NoSuchMethodException異常是因為沒有該屬性的setter方法,struts 2無法為該屬性賦值。
          2009-04-13 14:39 | 銀河使者
          主站蜘蛛池模板: 云霄县| 安平县| 菏泽市| 石泉县| 清远市| 黄浦区| 米林县| 宁安市| 米脂县| 榆树市| 七台河市| 永修县| 博野县| 梧州市| 东安县| 嘉祥县| 连云港市| 邹平县| 克东县| 靖江市| 彩票| 北宁市| 正定县| 湾仔区| 大新县| 济源市| 秀山| 云南省| 全椒县| 奇台县| 祁门县| 昭通市| 睢宁县| 罗甸县| 台湾省| 丰镇市| 阆中市| 昭通市| 荃湾区| 平安县| 宁河县|