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

          Struts2.1.6測試小記

          本文為原創(chuàng),如需轉(zhuǎn)載,請注明作者和出處,謝謝!

              Struts2.1.x終于推出正式版了,迫不急待地下了試試(讀者可以從http://struts.apache.org/download.cgi#struts216下載)。從這個版本所帶的jar包上看豐富了很多。很多jar包的版本也有所提升。
              下載后按著Struts 2.0.14版的方法進(jìn)行配置,將我以前做的一些程序移植到Struts2.1.6上,啟動Tomcat,暈暈,竟然拋出異常說無法裝載org.apache.struts2.dispatcher.multipart.MultiPartRequest,看一下異常信息,提示沒找到org.apache.commons.fileupload.RequestContext類,但在struts2.0.14中并不需要這個類。于是搜索struts2.1.6帶的jar包,發(fā)現(xiàn)RequestContext類在commons-fileupload-1.2.1.jar包中,但struts2.0.14并沒有這個包??赡苁莝truts2.1.6對文件上傳功能的改進(jìn),因此,要想正常使用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屬性,表示一個要轉(zhuǎn)入的URL,而在Struts2.1.6的Result注釋中使用location屬性代替了value屬性(不再有value屬性了),但它們的使用方法相同。

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




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

          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)  編輯  收藏 所屬分類: Struts2java 、 原創(chuàng)

          評論

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

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

          2009-02-06 14:19 | altchen

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

          Strus2 中慣常的一個 action 對應(yīng)多個方法的用法如下:

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

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

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

          @隔葉黃鶯
          是的,如果通過配置文件來實(shí)現(xiàn)多個方法,可以通過url的方式來實(shí)現(xiàn)(使用?。?,也可以在<action>元素中使用method屬性來配置。
          但使用注釋還沒有試過是否可以使用這種方式。
          2009-02-06 18:20 | 銀河使者

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

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

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

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

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

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

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

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

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

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

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

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

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

          @銀河使者
          呵呵,偶還是剛開始學(xué)web開發(fā),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測試小記  回復(fù)  更多評論   

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

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

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

          PS:框架為實(shí)際的需求想的還是少了點(diǎn)點(diǎn)的樣子
          2009-02-10 14:28 | zero

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

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

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

          @ccue
          拋出java.lang.NoSuchMethodException異常是因?yàn)闆]有該屬性的setter方法,struts 2無法為該屬性賦值。
          2009-04-13 14:39 | 銀河使者
          主站蜘蛛池模板: 龙川县| 高州市| 盐池县| 辽宁省| 綦江县| 新竹县| 渭南市| 荆州市| 兰溪市| 岗巴县| 铁力市| 平潭县| 兴隆县| 北流市| 临安市| 阜阳市| 东乌珠穆沁旗| 万荣县| 伊通| 长岛县| 枣庄市| 广东省| 亚东县| 南澳县| 广德县| 磐石市| 长乐市| 姜堰市| 芦溪县| 千阳县| 稷山县| 靖西县| 益阳市| 镇宁| 高邑县| 江川县| 威海市| 遂川县| 新竹市| 侯马市| 温州市|