按照同樣的方法創建main.jsp. 由于我們只是簡單的在主界面中顯示成功登陸的信息,因此在創建的時候,我們選擇的是第一個缺省的模板.
JSP文件創建后,我們可以根據自己的需要來修改其中的內容. 對于index.jsp,我們修改Form的action屬性和提交參數的名字, 并增加了標簽,可參考下面的代碼:
??? <html:form action="/login.do" method="post" focus="login">
????? <center><html:errors/>center>
????? <table border="0">
??????? <tr>
????????? <td>Name:td>
????????? <td><html:text property="name" />td>
??????? tr>
??????? <tr>
????????? <td>Password:td>
????????? <td><html:password property="password" />td>
??????? tr>
??????? <tr>
????????? <td colspan="2" align="center"><html:submit />td>
??????? tr>
????? table>
html:form>
?????? 對于main.jsp,我們修改中的輸出信息,提示用戶登陸成功,代碼如下:
? ? <body>
?? ???? ?You have logged in!<br>
? ? body>
?????? 保存兩個JSP文件和struts-config.xml文件.
n??????? 創建ActionForm
在我們的登陸程序中需要用戶提交用戶名和密碼,因此我們需要創建一個ActionForm Bean來保存提交的HTML表單數據.
將源代碼窗口中的標簽切換到struts-config.xml,右上角的Outline窗口內容如下:

選中其中的form-beans,右鍵單擊,在彈出的菜單中選擇New Form. 在Form Bean創建向導對話框中,輸入Use case的名字login,然后在下方的Form Properties中增加name和password兩個屬性.
? 

n??????? 創建Action
?????? 在完成上面的創建后,我們接下來創建Action類. 在源代碼窗口中切換到struts-config.xml文件,點擊左側工具欄中的
.?在彈出的創建向導中輸入Use case名字為Login.
?????? 在對話框的下部Optional Details中,點擊Name行末的Browse按鈕,選中我們剛才創建的loginForm.

點擊Input Source行末的Browse按鈕,在彈出的對話框中選中index.jsp.

將Optional Details標簽切換到Forwards,點擊Add按鈕增加一個局部的Forward.

這里的success是我們給Forward的名字,你也可以使用其它你喜歡的名字. 增加后如下:

完成新建Action的設置后如下圖:

點擊Finish按鈕后,MyEclipse會為我們創建一個名叫LoginAction.java的文件,我們可以根據自己的需要來實現具體的驗證邏輯. 這里,我們僅僅通過登陸的名字是否為hello來判斷. 如果不是提示登陸失敗. 代碼參考如下:??
????????????? ActionMessages errors=new ActionMessages();
?????????????
????????????? LoginForm loginForm = (LoginForm) form;???????
????????????? String username=loginForm.getName();
?????????????
????????????? if(username.equals("hello")) {
???????????????????? return mapping.findForward("success");
????????????? } else {
???????????????????? errors.add("username",new ActionMessage("error.msg"));
???????????????????? saveErrors(request,errors);
???????????????????? return (new ActionForward(mapping.getInput()));
????????????? }
從上面的代碼中我們可以看到,當用戶登陸失敗后會使用一個鍵值為error.msg的ActionMessage. 因此,我們在Package Explore中找到ApplicationResources.properties文件并雙擊打開,輸入以下內容并保存.
error.msg=Login Failed
在完成了上述所有的工作后,我們可以看到圖示化的struts-config.xml如下:

n??????? 部署和測試應用程序
這里StrutsDemo的部署同其他的Web應用程序一樣,我們就不在贅述了,具體的方法可以參閱MyEclipse系列文章的第二篇Web項目的開發.
部署成功后,在IE的地址欄中輸入http://localhost:8080/hello/index.jsp并回車.

我們首先驗證登陸失敗的場景. 當我們輸入的用戶名不是hello時,應返回到登陸頁面并提示登陸失敗. 在Name中輸入abcd,點擊Submit按鈕.

我們可以看到又回到了登陸頁面,并且出現了Login Failed的提示信息. 修改用戶名為hello,然后點擊Submit按鈕.

完.