Spring MVCフォーム処理例次の例は、SpringのWeb MVCフレームワークを使用してHTMLフォームを使用するシンプルなWebベースのアプリケーションを作成する方法を示しています。
テストプロジェクトの構築
(1)新しいJava Webプロジェクトを作成し、SpringMVCプロジェクトに必要ないくつかのJARパッケージを導入します。必要なプロジェクト構造とJARパッケージは次のとおりです。
wweb.xml:
<web-app xmlns = "http://xmlns.jcp.org/xml/ns/javaee" xmlns:xsi = "http://www.w3.org/2001/xmlschema-instance" xsi:schemalocation = "http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"バージョン= "3.1 <Servlet-Class> org.springframework.web.servlet.dispatcherservlet </servlet-class> <load-on-startup> 1 </load-on-startup> </servlet-mapping> <servlet-mapping> <servlet-name> springmvc </servlet-name> <url-pertern> <filter-name> charateLencodingFilter </filter-name> <filter-class> org.springframework.web.filter.characterencodingfilter </filter-class> <init-param> <param-name> encoding </param-name> <-value> utf-8 </param-> </init-param> </filter> <filter-name> charitiousencodingfilter </filter-name> <url-pattern>/*</url-pattern> </filter-mapping> </web-app>
これは.htmlで終わるspringmvcインターセプトURLサフィックスです。
②springmvc-servlet.xml:
<?xml version = "1.0" encoding = "utf-8"?> <beans xmlns = "http://www.springframework.org/schema/beans" xmlns:xsi = "http://www.w3.org/2001/xmlschema-instance" xmlns:Context = "http://www.springframework.org/schema/context" xmlns:mvc = "http://www.springframework.org/schema/mvc" xsi:schemalocation = " http://www.springframework.org/schema/beans/spring-beans-4.0.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context-4.tpring http://www.springframework.org/schema/mvc http://www.springframeworkwork.org/schema/mvc/spring-mvc-4.0.xsd "> <コンテキスト:コンポーネント - サンマンベースパッケージ=" cn.zifangsky <! - Beanで定義された注釈をアクティブ化 - > <MVC:annotation-driven/> <bean> <property name = "prefix" value = "/pages/"/> <プロパティ名= "suffix" value = "。Jsp"/> </bean> </beans>
上記の構成ファイルでは、<context:annotation-config /> beanで定義されたいくつかのアノテーションをアクティブにし、<mvc:annotation-driven /> springMVCのいくつかのデフォルト構成をアクティブにします。構成ファイルの最後に、論理ビューと実際のビューとの対応が定義されています。一言で言えば、上記のパスプレフィックスと接尾辞は、返された論理ビューに与えられます。これが実際のビューへの本当の道です。
2。SpringMVCを使用してフォームを処理します
(1)正式に開始する前に、モデルと列挙クラスを作成します。
①エンティティユーザー:
パッケージcn.zifangsky.model; Import java.time.localdate; import org.springframework.format.annotation.datetimeformat; public class user {private string name;プライベート文字列パスワード。プライベートストリングジョブ; @datetimeformat(pattern = "yyyy-mm-dd")private localdate生年月日;私的性別の性別。プライベートストリングカントリー;プライベートブール喫煙; public string getName(){return name; } public void setName(string name){this.name = name; } public string getPassWord(){パスワードを返します。 } public void setPassword(string password){this.password = password; } public string getjob(){return job; } public void setjob(string job){this.job = job; } public localdate getBirthDate(){return virthdate; } public void setBirthDate(LocalDate Birthdate){this.birthdate = birthdate; } public gender getgender(){return gender; } public void setgender(gender gender){this.gender = gender; } public string getCountry(){return country; } public void setCountry(String Country){this.country = country; } public boolean issmoking(){return Smoking; } public void setsmoking(boolean Smoking){this.smoking = Smoking; }} 「「性別」を表す列挙クラスの性別:
パッケージcn.zifangsky.model;パブリックエインムジェンダー{男性、女性;}以下は、プログラムの実行プロセスに従ってSpringMVCのフォームフォーム処理、つまりフォアグラウンドフォームの充填>コントローラー処理>結果表示ページを簡単に説明します。
(2)テストプロジェクトのホームページとフォームのフォームページ:
Homeページindex.jsp:
<%response.sendredirect( "form.html"); %>
ここのホームページは非常に単純であり、「form.html」にリダイレクトすることがわかりますが、Web.xmlでの以前の構成により、SpringMVCはこのリクエストを処理のために特定のコントローラーに転送します。コントローラーの特定の処理ロジックについては、以下で説明します
formフォームページuserform.jsp:
<%@ページ言語= "java" contentType = "text/html; charset = utf-8" pageencoding = "utf-8"%> <%@ taglib uri = "http://www.springframework.org/tags/form" prefix = "mvc" http-equiv = "content-type" content = "text/html; charset = utf-8"> <title> spring mvc form処理</title> </head> <body> <h2>ユーザー登録</h2> <mvc:form modelattribute = "user" action = "result.html" path = "name"> name:</mvc:label> </td> <td> <mvc:input path = "name"/> </td> </tr> <tr <tr <tr <td> <td> <mvc>パスワード:</mvc:ラベル> </td> <td> <mvc:パスワード= "パスワード= </td> </td> </td> < <TD> <MVC:ラベルパス= "job"> work:</mvc:label> </td> <td> <mvc:textarea path = "job"/> </td> </tr <tr> <td> <mvc:ラベルパス= "birthdate">誕生日:</mvc /> </td> </tr> <tr> <td> <mvc:ラベルパス= "gender"> gender:</mvc:</mvc:label> </td> <td> <mvc:radiobuttons path = "$ {genders}"/>> </td> PATH = "COUNTRY">居住地:</MVC:ラベル> </td> <td> <mvc:path = "country" items = "$ {countries}"/> </td> </tr> <tr> <td> <mvc:ラベルパス= "喫煙"> smoke?:</mvc /> </td> </tr> <tr> <td colspan = "2"> <inputタイプ= "submit" value = "submit"/>> </td> </tr> </tr> </table> </mvc:form> </body> </html> </html>このページをWeb-INFディレクトリに配置するため、URLを介してこのファイルに直接アクセスすることはできません。上記の「form.html」は、処理のためにコントローラーに転送され、このビューページを表示する必要があります。これの目的は、許可なしに一部のプライベートページが他のページからアクセスされないようにすることです。上記のファイルでは、注意することが重要です。
(3)ビジネスロジック処理のためのコントローラークラスusercontroller.java:
パッケージcn.zifangsky.controller; Import org.springframework.stereotype.controller; import org.springframework.web.bind.annotation.modelattribute; Import org.springframework.web.bind.annotation.requestmapping; import org.springframework.web.servlet.modelwlet.modelywork. cn.zifangsky.model.user; @controllerpublic class usercontroller {private static final string [] countries = {"china"、 "japan"、 "Northorea"、 "United States"}; @RequestMapping(value = "/form.html")public modelandview user(){modelandview modelandview = new ModelandView( "userform"); modelandview.addobject( "user"、new user()); modelandview.addobject( "genders"、gender.values()); modelandview.addobject(「国」、国); ModelandViewを返します。 } @RequestMapping(value = "/result.html")public modelandview processuser(@modelattribute(value = "user")user u){modelandview modelandview = new ModelandView( "userresult"); modelandview.addobject( "u"、u); ModelandViewを返します。 }}上記で2つの方法が定義されており、それらの機能は「form.html」要求の実際のフォームに転送し、フォームフォームを処理することがわかります。フォームを処理するとき、私は@modelattributeアノテーションを介してユーザータイプ「u」を受信しました。これは最初に埋められたフォームであり、以下はフォームの表示であるため、あまり言いません
(4)テスト:
フォームで埋められます:
results結果が示しています:
userresult.jspページ:
<%@ page Language = "Java" contentType = "text/html; charset = utf-8" pageEncoding = "utf-8"%> <%@ taglib uri = "http://www.springframework.org/tags/form" prefix = "mvc" 4.01移行// en "" http://www.w3.org/tr/html4/loose.dtd"> <html>結果</h2> <table> <ttr> <td> name:</td> <td> $ {u.name} </td> </tr> <tr> <td>パスワード:</td> <td> $ {U.Password} </td> </tr> <tr> <td> <tr> <td>誕生日:</td> <td> $ {u.birthdate} </td> </tr> <tr> <td> gender:</td> <td> $ {usgender} </td> </tr> <tr> <td>居住地:</td> </td> </td> </td> </td> </td> <td>喫煙:</td> <td> $ {U.Smoking} </td> </tr> </tr> </table> </body> </html>上記はこの記事のすべての内容です。みんなの学習に役立つことを願っています。誰もがwulin.comをもっとサポートすることを願っています。