這個例子是提供一個登入介面,使用者輸入使用者Id和密碼,如果一致則判斷為登入成功。使用easy struts這個eclipse的外掛程式要做這件事很容易,步驟如下:
1、建立一個新工程,並為在工程屬性裡為該工程添加easy struts支援。
2、在eclipse菜單File->New->Other裡選擇Easy Action assosiated with a form。這就開啟一個嚮導,共有三步,下面分別說明。
3、第一步是建立form。Module留空(使用預設),我們的use case填logon,easy struts會自動根據這個名稱更改form name和form type這兩個域,最好根據需要更改一下後者的包名稱。點form properties右邊的add按鈕,增加userId和password兩個屬性,type都是java.lang.String,jsp input type分別是text和password類型。點next進入下一步。
4、第二步是建立action。全部使用預設值即可。點next進入下一步。
5、第三步是建立forwards和exceptions。我們為剛剛建立的action添加一個名為success的forward,path為/form/main.htm,該頁面就是登入成功後看見的頁面了。當然,你還要實際建立這個頁面,否則登入成功後會出現404錯誤。按finish按鈕完成嚮導。
6、在嚮導幫你產生的LogonAction.java檔案的execute方法裡寫下驗證登入並跳轉的代碼如下:
public ActionForward execute( ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception { LogonForm logonForm = (LogonForm)form; ActionErrors errors = new ActionErrors(); if(!logonForm.getUserId().equals(logonForm.getPassword())) errors.add(ActionErrors.GLOBAL_ERROR,new ActionError("error.password.mismatch")); if(!errors.isEmpty()){ saveErrors(request,errors); return mapping.getInputForward(); } return (mapping.findForward("success")); } |
7、把這個項目加成一個Tomcat的context,具體方法就是在Tomcat的server.xml中加上下面這句:
| <Context path="/struts-test" reloadable="true" docBase="C:\eclipse\workspace\struts-test" /> |
8、啟動Tomcat,使用http://localhost:8080/struts-test/form/logon.jsp訪問,應該可以看到登入畫面。
注意:我發現Easy Struts雖然會幫你把需要的jar拷到WEB-INF/lib裡,但這隻是一部分,還得手動把其他Struts的lib/*.jar檔案拷過來,否則會提示"Cannot find ActionMappings or ActionFormBeans collection"