第一章 用JBuilder9開發Struts實例
本文將給大家介紹在JBuilder9集成開發環境下,如何運用StrutsFramework來開發Web應用程序,我們這裏所說的JBuilder9是指JBuilder9Developer與Enterprise兩個版本。
一、JBuilder對於Struts之支持
JBuilder提供圖形使用者接口以簡化組件文件struts-config.xml之編輯與設定,此外,JBuilder於ObjectGallery對話框內的Web頁次,提供四種精靈以簡化Struts開發流程。
StrutsConverterWizard:
可指定HTML或一般JSP檔案自動產生使用StrutsTagLibraries之JSP檔案。
ActionFormWizard:
可導入JSP檔案產生繼承自ActionForm之類,或自定義屬性(property)產生繼承自ActionForm之類,類產生後可選擇是否自動完成struts-config.xml對應設定。
ActionWizard:
可產生繼承自Action之類,設定搭配之JSP檔案、有效範圍(scope)並自動完成struts-config.xml對應設定。
JSPfromActionFormWizard:
可由指定之ActionForm自動產生使用StrutsTagLibraries之JSP檔案。
除了上述精靈外,JBuilder可協助開發人員自動設定web.xml部署描述檔,以便JSP使用Struts自定義TagLibraries。
二、使用Jbuilder開發struts實例
我們在這裏舉開發一個簡易的Web應用程序的例子來幫助大家了解StrutsFramework。此Web應用程序允許使用者輸入兩獨立字符串,並將兩字符串連接後顯示於網頁。由於處理邏輯過於簡單,此實例中我們打算直接在扮演Controller角色的Action中完成兩字符串連接動作,因此未使用扮演Model角色之JavaBean或類來處理字符串連接。
步驟一:建立Web應用程序
首先點擊選擇JBuilder集成開發環境主菜單File|NewProject...建立一個名為StrutsDemo之項目。接著由菜單File|New...激活ObjectGallery對話框,並點擊選擇Web頁次中的WebApplication精靈準備建立Web應用程序。
WebApplication精靈會為此Web應用程序準備妥產生WAR所需之部署描述檔web.xml,WAR是J2EE規格中用以簡化Web程序部署複雜度之標準檔案格式。我們為此Web應用程序命名為demo,往後將會在編譯此項目檔時產生名為demo.war檔案以便於部署,在此Web應用程序中由於將會用到Struts之TagLibraries,因此在JSP/Servletframeworks中勾選Struts1.0,同時JBuilder會自動設定妥web.xml。
步驟二:建立自定義之ActionForm類
StrutsFramework中並未限製MVC三部份開發順序,由於此時我們並未準備妥可輸入兩字符串之HTML或JSP,因此先建立儲存信息之ActionForm類,再產生扮演Controller角色之Action類,最後再由ActionForm類產生JSP檔案,大家可依狀況調整順序以適應實際案例。點擊選擇ObjectGallery對話框Web頁次中ActionFormWizard可產生自定義之ActionForm類,ActionFormWizard又可分為三步:第一步精靈自動偵測出之前已建妥之Web應用程序demo,我們將自定義ActionForm名稱由預設Untitled1ActionForm修改為myActionForm,接著按下Next按鈕進入第二步。第二步依照需求將未來JSP頁麵上所需顯示與輸入的字段加入Fielddefinition清單方塊中,倘若負責網頁美工專職人員已備妥輸入用JSP網頁,亦可按下AddfromJSP...按鈕直接導入,JBuilder將解析此JSP檔案產生Fielddefinition表格。本例中由於未準備輸入之JSP檔案,因此必須自行加入所需之字段。我們為此Web應用程序預先準備三個字段,fieldA與fieldB可儲存輸入之字符串,fieldResult可置放兩字符串連接後結果。設定完成後按下Next按鈕進入第三步。
步驟三對話框提示是否將myActionForm加入struts-config.xml組件檔中?是否需要產生reset方法?可依照默認值按下Finish按鈕。
此時ActionFormWizard已經自動產生了繼承自ActionForm之myActionForm.java檔案,如果我們不打算實現資料核驗之validate方法,我們完全無須撰寫任何程序代碼。
步驟三:建立自定義之Action類
點擊選擇ObjectGallery對話框Web頁次中ActionWizard可產生自定義之Action類,ActionWizard分為兩步:第一步精靈自動偵測出之前已建立之Web應用程序demo與struts-config.xml組件檔,我們將自定義Action名稱由預設Untitled1Action修改為myAction,接著按下Next按鈕進入第二步。
在第二步對話框中,我們可以設定myAction的perform方法會傳入哪一個ActionForm,在FormBeanName組合方塊中,所有記錄於struts-config.xml中的ActionForm都會列出以供選用,此外我們設定myAction之有效範圍(Scope)為Session,並指明/input.jsp所有輸入動作,將交由myAction處理。