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

          Struts2.1.6測(cè)試小記

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

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

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




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

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

          評(píng)論

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

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

          2009-02-06 14:19 | altchen

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

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

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

          不過(guò)樓上說(shuō)的 struts2-convention-plugin零配置倒是還沒(méi)用過(guò)。
          2009-02-06 17:46 | 隔葉黃鶯

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

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

          # re: Struts2.1.6測(cè)試小記[未登錄](méi)  回復(fù)  更多評(píng)論   

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

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

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

          # re: Struts2.1.6測(cè)試小記[未登錄](méi)  回復(fù)  更多評(píng)論   

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

          # re: Struts2.1.6測(cè)試小記[未登錄](méi)  回復(fù)  更多評(píng)論   

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

          # re: Struts2.1.6測(cè)試小記[未登錄](méi)  回復(fù)  更多評(píng)論   

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

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

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

          # re: Struts2.1.6測(cè)試小記[未登錄](méi)  回復(fù)  更多評(píng)論   

          @銀河使者
          呵呵,偶還是剛開(kāi)始學(xué)web開(kāi)發(fā),struts2才接觸一些,那我還有的看了

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

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

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

          # re: Struts2.1.6測(cè)試小記[未登錄](méi)  回復(fù)  更多評(píng)論   

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

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

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

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

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

          @ccue
          拋出java.lang.NoSuchMethodException異常是因?yàn)闆](méi)有該屬性的setter方法,struts 2無(wú)法為該屬性賦值。
          2009-04-13 14:39 | 銀河使者
          主站蜘蛛池模板: 和静县| 五台县| 收藏| 沙田区| 敖汉旗| 文安县| 石屏县| 宜川县| 怀来县| 山东省| 株洲市| 饶平县| 二手房| 固安县| 岳普湖县| 肃南| 鄂温| 伊吾县| 中西区| 三原县| 四会市| 乐昌市| 灌云县| 奇台县| 新安县| 永嘉县| 香格里拉县| 呼和浩特市| 棋牌| 天长市| 佛山市| 旬邑县| 苗栗县| 昌邑市| 老河口市| 新龙县| 哈巴河县| 桓仁| 固阳县| 岳普湖县| 中卫市|