日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 前端技术 > javascript >内容正文

javascript

[zz]Spring MVC 之 SimpleFormController类別

發布時間:2025/7/14 javascript 43 豆豆
生活随笔 收集整理的這篇文章主要介紹了 [zz]Spring MVC 之 SimpleFormController类別 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
[zz]Spring MVC 之 SimpleFormController類別 SimpleFormController類別

Spring附有一些簡單的窗體處理handler,這些handler都實現了Controller接口,您可以使用這些類別,讓它自動為您收集窗體參數并填入窗體對象(form object),而無需您親自處理這些細節。
?
   org.springframework.web.servlet.mvc.SimpleFormController是Spring提供的一個 Controller接口實現,以下實現一個窗體登入程序,以示范SimpleFormController的作用,首先我們先設計一個 form.jsp:?

<% @page?contentType = " text/html;charset=Big5 " %>
< html >
< head >< title > Login </ title ></ head >
< body >
????請輸入使用者名稱與密碼:
< p >
????
< form?name = " loginform " ?action = " /springapp/login.do " ?method = " post " >
????????名稱?
< input?type = " text " ?name = " username " />< br >
????????密碼?
< input?type = " password " ?name = " password " />< br >
????????
< input?type = " submit " ?value = " 確定 " />
????
</ form >
????注意:輸入錯誤會再回到這個頁面中。
</ body >
</ html >

窗體中傳遞兩個參數username與password,注意method是post,這樣待會Spring才會將我們的參數填入窗體對象中。先看看我們的LoginAction:
?
LoginAction.java

package ?onlyfun.caterpillar;

import ?org.springframework.web.servlet.mvc.SimpleFormController;
import ?org.springframework.web.servlet. * ;

public ? class ?LoginAction? extends ?SimpleFormController? {
????
// ?重載父類onSubmit方法
???? protected ?ModelAndView?onSubmit(Object?command)? throws ?Exception? {
???????LoginForm?form?
= ?(LoginForm)?command;

???????
if ( " caterpillar " .equals(form.getUsername())? && ? " 123456 " .equals(form.getPassword()))? {
??????????
return ? new ?ModelAndView( this .getSuccessView(), " user " ,?form.getUsername());
???????}
else ? {
???????????
return ? new ?ModelAndView( this .getFormView());
???????}

????}

}

  LoginAction繼承了SimpleFormController,并重新定義其onSumit()方法,Spring會呼叫這個方 法,onSumit()接收command對象,這個對象代表了窗體對象,onSumit()有幾個不同的版本,這邊所使用的是最簡單的版本,您可以看看 API文件了解它的其它版本。

  getSuccessView()與getFormView()是SimpleFormController中定義的兩個方法,分別表示通過驗證與物敗的目標網頁,我們待會可以直接在Bean定義檔中定義,先來看看窗體對象,它只是個簡單的JavaBean:
?
LoginForm.java :

package ?onlyfun.caterpillar;

public ? class ?LoginForm? {
????
private ?String?username;
????
private ?String?password;

????
public ? void ?setUsername(String?username)? {
???????
this .username? = ?username;
????}


????
public ? void ?setPassword(String?password)? {
???????
this .password? = ?password;
????}


????
public ?String?getUsername()? {
???????
return ?username;
????}


????
public ?String?getPassword()? {
???????
return ?password;
????}

}

  Spring會收集Request中相關的參數,并將之填入有對應到的屬性,至于LoginAction如何得到command,這我們要在Bean定義檔中撰寫:?

<? xml?version = " 1.0 " ?encoding = " UTF-8 " ?>
<! DOCTYPE?beans?PUBLIC? " -//SPRING/DTD?BEAN/EN " ? " http://www.springframework.org/dtd/spring-beans.dtd " >
< beans >
????
< bean?id = " urlMapping " ? class = " org.springframework.web.servlet.handler.SimpleUrlHandlerMapping " >
????????
< property?name = " mappings " >
????????????
< props >< prop?key = " /login.do " > loginAction </ prop ></ props >
????????
</ property >
????
</ bean >

????
< bean?id = " viewResolver " ? class = " org.springframework.web.servlet.view.InternalResourceViewResolver " >
????????
< property?name = " viewClass " >
????????????
< value > org.springframework.web.servlet.view.InternalResourceView </ value >
????????
</ property >
????????
< property?name = " prefix " >< value >/ WEB - INF / jsp /</ value ></ property >
????????
< property?name = " suffix " >< value > .jsp </ value ></ property >
????
</ bean >

????
< bean?id = " loginAction " ? class = " onlyfun.caterpillar.LoginAction " >
????????
< property?name = " commandClass " >< value > onlyfun.caterpillar.LoginForm </ value ></ property >
????????
< property?name = " successView " >< value >/ WEB - INF / jsp / success.jsp </ value ></ property >
????????
< property?name = " formView " >< value >/ html / form.htm </ value ></ property >
????
</ bean >
</ beans >

  在loginAction中的commandClass,即使定義它所要使用的窗體對象,注意我們也定義了successView與formView,其中我們的success.jsp如下:?

< html >
< head >< title > Login?Success </ title ></ head >
< body >
????
< H1 > ?Hello,?$ {user} !!</ H2 >
????This?is?your?secret?gift.
</ body >
</ html >


  登入成功的話,會進入success.jsp并顯示使用者的名稱,登入失敗的話,依formView的設定,會回到原來的登入窗體。

===========================================================================================

以上文章轉自:http://www.blogjava.net/liuwentao253/archive/2007/01/31/96982.html

posted on 2011-09-29 14:10 yoyo_zeng 閱讀(...) 評論(...) ?編輯 收藏

轉載于:https://www.cnblogs.com/zengyou/articles/2195460.html

總結

以上是生活随笔為你收集整理的[zz]Spring MVC 之 SimpleFormController类別的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。