大大毛 的筆記

            DDM's Note

          哪怕沒有辦法一定有說法,
          就算沒有鴿子一定有烏鴉,
          固執(zhí)無罪 夢想有價(jià),
          讓他們驚訝.

          posts - 14, comments - 23, trackbacks - 0, articles - 58
             :: 首頁 ::  :: 聯(lián)系 ::  :: 管理

          精通Struts筆記--02

          Posted on 2006-07-18 22:27 大大毛 閱讀(318) 評(píng)論(0)  編輯  收藏 所屬分類: Struts
          2.簡單的Struts應(yīng)用?? helloapp

          ???應(yīng)用需求:
          ??????1.接受name輸入
          ??????2.不允許name為空
          ??????3.如果是特定姓名,則不向其打招呼
          ??????4.滿足條件則向其問好

          ???例程:
          ??????可能由于本需求很簡單,因此例程只使用了一個(gè)JSP作為視圖,從struts-config.xml的設(shè)計(jì)視圖上可以看到邏輯顯得很亂

          ???具體步驟(Myeclipse):
          ??????1.先建一個(gè)項(xiàng)目,選擇J2EE下的WEB項(xiàng)目
          ??????2.在項(xiàng)目上加入Struts框架
          ??????3.選擇struts-config.xml配置文件可進(jìn)入設(shè)計(jì)視圖
          ??????4.新建一個(gè)ActionForm Bean,加入name屬性,并根據(jù)此ActionForm bean新建一個(gè)JSP
          ??????5.新建一個(gè)Action,可以自行另取名稱(不一定必須與form對應(yīng)),之后還要在Input的JSP文件中將form 的 action改為對應(yīng)的Action路徑,記住要加.do后綴
          ??????6.在Myeclipse中設(shè)置應(yīng)用服務(wù)器,使用Tomcat5
          ??????7.發(fā)布

          ???注意事項(xiàng):
          ??????ActionForm Bean只能由具體的類進(jìn)入編輯;
          ??????Action在設(shè)計(jì)視圖上可以加入ActionForward,但是這樣做實(shí)際上只是在配置文件中進(jìn)行了配置,還需要在Action中自行編碼進(jìn)行findForward()才能實(shí)現(xiàn)跳轉(zhuǎn);
          ??????Action中設(shè)置出ActionErrors后,必須this.saveError(request)才會(huì)產(chǎn)生作用;
          ??????Struts配置文件的中文問題:
          ?????????在XML配置文件中設(shè)置的一個(gè)配置文件,實(shí)際上是一個(gè)缺省配置文件,一個(gè)資源對象實(shí)際上對應(yīng)多個(gè)配置文件(多語言),文件在名稱上有要求,據(jù)此可以配置多個(gè)語言的資源文件;
          ?????????Struts實(shí)際上是依靠多個(gè)資源文件來實(shí)現(xiàn)國際化;
          ?????????Eclipse自身對于配置文件采用的編碼方式是ISO8859,因此用它編輯配置文件后,再打開會(huì)是一些問號(hào),JSP頁面也會(huì)顯示不正常,需要使用JDK的native2ascii來手工轉(zhuǎn)碼,對于某些版本的Eclipse提供了自行設(shè)置編碼的設(shè)置.
          ?????????用JInto插件可以簡化操作,并同時(shí)對多個(gè)語言的資源文件進(jìn)行編輯(對照著,很E啊)
          ?????????多語言效果的測試:
          ????????????IE中的Internet選項(xiàng)/語言,可以看到當(dāng)前IE所使用的語言,選擇需要測試的語言,應(yīng)用后刷新或重開IE窗口即可(不過測試中失敗了好多次).
          ?????????????:我試著選擇一個(gè)沒有對應(yīng)資源的語言,但是卻沒有看到那種使用缺省資源文件的效果,還是中文的.
          ?????????按書上的,寫成ActionErros.add("key",new ActionMessage("key"));的形式在本機(jī)上出類轉(zhuǎn)換異常,改成ActionErros("key",new ActionError("key"));的方式通過;
          ?????????<html:cancel />標(biāo)簽:
          ????????????由ActionForm新建一個(gè)JSP時(shí),Form域中是放上了submit和cancel兩個(gè)按鈕的.
          ????????????cancel的用途還不太清楚,但是它可以完成一個(gè)submit動(dòng)作,而且在使用cancel進(jìn)行提交時(shí),ActionForm的校驗(yàn)沒有起作用,直接提交到Action進(jìn)行處理,從而忽略了視圖層的檢驗(yàn)

          ???這一章中有兩點(diǎn)映象:
          ??????1.書上的例程,在各處都廣泛地引用到了配置文件,這應(yīng)該是出于國際化的要求,對于大型項(xiàng)目來說是很重要的;
          ??????2.校驗(yàn)的問題,該例程將空值校驗(yàn)放入ActionForm檢驗(yàn)中,劃歸于視圖層的檢驗(yàn),而對于特定姓名拒絕打招呼這樣的檢驗(yàn),放入Action中,屬于業(yè)務(wù)邏輯.

          i am ddm

          主站蜘蛛池模板: 龙江县| 乌兰察布市| 棋牌| 合山市| 霞浦县| 金沙县| 汨罗市| 望都县| 英德市| 山丹县| 新乡市| 腾冲县| 彩票| 桦南县| 烟台市| 虞城县| 东山县| 商城县| 紫金县| 高密市| 梨树县| 和政县| 永胜县| 海阳市| 固安县| 运城市| 洛扎县| 苍山县| 兴义市| 溧水县| 双牌县| 桓台县| 灵武市| 集贤县| 当雄县| 中西区| 怀化市| 湘潭市| 新田县| 台东市| 定兴县|