贏在執(zhí)行

          這個(gè)世界上只有兩樣?xùn)|西愈分享愈多,那就是智慧與愛。

          BlogJava 首頁 新隨筆 聯(lián)系 聚合 管理
            17 Posts :: 11 Stories :: 13 Comments :: 0 Trackbacks

          1、在web.xml中EncodingFilter的位置應(yīng)該在Struts2的FilterDispatcher之前,道理很簡(jiǎn)單,要先調(diào)整字符集,再進(jìn)入Action。

          2、如果使用Urlrewrite,要指定filter-mapping的dispatcher方式,如下
          <filter-mapping>
          <filter-name>Struts2</filter-name>
          <url-pattern>/*</url-pattern>
          <dispatcher>REQUEST</dispatcher>
          <dispatcher>FORWARD</dispatcher>
          </filter-mapping>

          3、在做上傳文件的時(shí)候,要在web.xml中增加ActionContextCleanUp這個(gè)filter,如果不增加,會(huì)發(fā)生第一次上傳取不到文件的情況
          <filter>
          <filter-name>struts-cleanup</filter-name>
          <filter-class>org.apache.struts2.dispatcher.ActionContextCleanUp</filter-class>
          </filter>
          <filter-mapping>
          <filter-name>struts-cleanup</filter-name>
          <url-pattern>/*</url-pattern>
          </filter-mapping>
          按照Struts2的API,filter的順序是
          struts-cleanup filter
          SiteMesh filter
          FilterDispatcher

          4、在Apache+Resin的情況下,要在WEB-INF下增加resin-web.xml,該文件只針對(duì)Resin有效,作用是指定后綴與 Resin的Servlet引擎匹配,要不然從Apache轉(zhuǎn)發(fā)過去的請(qǐng)求到Resin后會(huì)出現(xiàn)404的情況,resin-web.xml舉例如下:
          <web-app xmlns="http://caucho.com/ns/resin">
          <servlet-mapping url-pattern='*.bbscs' servlet-name='plugin_match'/>
          </web-app>

          5、在使用<s:url/>標(biāo)簽的時(shí)候,會(huì)出現(xiàn)將get或post數(shù)值帶入url參數(shù)的情況,如果不需要這些參數(shù),可以在struts.properties文件中設(shè)置
          struts.url.includeParams=none
          或是在<s:url/>標(biāo)記中將includeParams屬性設(shè)為none
          另外還有兩個(gè)值
          all,是把get和post中的參數(shù)加入到url參數(shù)中
          get,是只把get中的參數(shù)加入到url參數(shù)中

          6、與webwork基本相同,Struts2提供了幾種ui.theme,有xhtml、css_xhtml、simple等等,在 struts.properties中可以設(shè)置使用何種theme,這一點(diǎn)很關(guān)鍵,不同的theme,struts的tag會(huì)生成不同的html代碼,而 且在某些情況下這些theme不能滿足頁面要求,則需要自己進(jìn)行擴(kuò)展了,這些theme都是由freemarker寫的,仿照這寫就可以。

          7、單個(gè)checkbox的標(biāo)記庫好像只能返回boolean的值,如果在數(shù)據(jù)庫中設(shè)計(jì)為int型,則需要做一些轉(zhuǎn)換,這一點(diǎn)我覺得不如Struts1.x的方便。

          8、總體來說Struts2的標(biāo)記庫使用上比Struts1.x的方便,頁面整體也比較簡(jiǎn)潔,Struts2采用stack的方式存取數(shù)據(jù),與Struts1相比各有千秋吧。

          Struts2主要延續(xù)自webwork,以前使用webwork的朋友轉(zhuǎn)過來并不困難,Struts2的幾個(gè)核心的部分,比如攔截器、Result Configuration、OGNL stack等等還是需要仔細(xì)的體會(huì),深入了解,才能做出優(yōu)秀的系統(tǒng)。

          posted on 2008-02-01 00:23 飛雪(leo) 閱讀(302) 評(píng)論(0)  編輯  收藏

          只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。


          網(wǎng)站導(dǎo)航:
           
          主站蜘蛛池模板: 长沙市| 廊坊市| 高碑店市| 巴彦淖尔市| 江北区| 昌黎县| 札达县| 马山县| 方山县| 巴里| 韶山市| 包头市| 江陵县| 德兴市| 苏州市| 江都市| 鄄城县| 谢通门县| 嘉义县| 宝坻区| 大安市| 调兵山市| 许昌市| 孟津县| 山东省| 建湖县| 苏尼特右旗| 芜湖县| 常山县| 高要市| 句容市| 屏东市| 六盘水市| 安义县| 水富县| 含山县| 滦南县| 亳州市| 邻水| 华坪县| 马公市|