|
Posted on 2006-07-18 22:27 大大毛 閱讀(317) 評論(0) 編輯 收藏 所屬分類: Struts
2.簡單的Struts應用?? helloapp
???應用需求: ??????1.接受name輸入 ??????2.不允許name為空 ??????3.如果是特定姓名,則不向其打招呼 ??????4.滿足條件則向其問好
???例程: ??????可能由于本需求很簡單,因此例程只使用了一個JSP作為視圖,從struts-config.xml的設計視圖上可以看到邏輯顯得很亂
???具體步驟(Myeclipse): ??????1.先建一個項目,選擇J2EE下的WEB項目 ??????2.在項目上加入Struts框架 ??????3.選擇struts-config.xml配置文件可進入設計視圖 ??????4.新建一個ActionForm Bean,加入name屬性,并根據此ActionForm bean新建一個JSP ??????5.新建一個Action,可以自行另取名稱(不一定必須與form對應),之后還要在Input的JSP文件中將form 的 action改為對應的Action路徑,記住要加.do后綴 ??????6.在Myeclipse中設置應用服務器,使用Tomcat5 ??????7.發布
???注意事項: ??????ActionForm Bean只能由具體的類進入編輯; ??????Action在設計視圖上可以加入ActionForward,但是這樣做實際上只是在配置文件中進行了配置,還需要在Action中自行編碼進行findForward()才能實現跳轉; ??????Action中設置出ActionErrors后,必須this.saveError(request)才會產生作用; ??????Struts配置文件的中文問題: ?????????在XML配置文件中設置的一個配置文件,實際上是一個缺省配置文件,一個資源對象實際上對應多個配置文件(多語言),文件在名稱上有要求,據此可以配置多個語言的資源文件; ?????????Struts實際上是依靠多個資源文件來實現國際化; ?????????Eclipse自身對于配置文件采用的編碼方式是ISO8859,因此用它編輯配置文件后,再打開會是一些問號,JSP頁面也會顯示不正常,需要使用JDK的native2ascii來手工轉碼,對于某些版本的Eclipse提供了自行設置編碼的設置. ?????????用JInto插件可以簡化操作,并同時對多個語言的資源文件進行編輯(對照著,很E啊) ?????????多語言效果的測試: ????????????IE中的Internet選項/語言,可以看到當前IE所使用的語言,選擇需要測試的語言,應用后刷新或重開IE窗口即可(不過測試中失敗了好多次). ?????????????:我試著選擇一個沒有對應資源的語言,但是卻沒有看到那種使用缺省資源文件的效果,還是中文的. ?????????按書上的,寫成ActionErros.add("key",new ActionMessage("key"));的形式在本機上出類轉換異常,改成ActionErros("key",new ActionError("key"));的方式通過; ?????????<html:cancel />標簽: ????????????由ActionForm新建一個JSP時,Form域中是放上了submit和cancel兩個按鈕的. ????????????cancel的用途還不太清楚,但是它可以完成一個submit動作,而且在使用cancel進行提交時,ActionForm的校驗沒有起作用,直接提交到Action進行處理,從而忽略了視圖層的檢驗
???這一章中有兩點映象: ??????1.書上的例程,在各處都廣泛地引用到了配置文件,這應該是出于國際化的要求,對于大型項目來說是很重要的; ??????2.校驗的問題,該例程將空值校驗放入ActionForm檢驗中,劃歸于視圖層的檢驗,而對于特定姓名拒絕打招呼這樣的檢驗,放入Action中,屬于業務邏輯.
|