[Struts]學習日記1 – 一個簡單的例子

來源:互聯網
上載者:User

這個例子是提供一個登入介面,使用者輸入使用者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"

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.