以下示例顯示如何在使用Spring Web MVC框架的表單中使用文本域(TextArea)。首先使用Eclipse IDE來創(chuàng)建一個(gè)WEB工程,并按照以下步驟使用Spring Web Framework開發(fā)基于動態(tài)表單的Web應(yīng)用程序:
com.yiibai.springmvc
包下創(chuàng)建兩個(gè)Java類User
,UserController
。jsp
子文件夾下創(chuàng)建兩個(gè)視圖文件:user.jsp
,userlist.jsp
。完整的項(xiàng)目文件目錄結(jié)構(gòu)如下所示 -
User.java 的代碼如下所示 -
package com.yiibai.springmvc;
public class User {
private String username;
private String password;
private String address;
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
public String getAddress() {
return address;
}
public void setAddress(String address) {
this.address = address;
}
}
UserController.java 的代碼如下所示 -
package com.yiibai.springmvc;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.ModelAttribute;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.servlet.ModelAndView;
import org.springframework.ui.ModelMap;
@Controller
public class UserController {
@RequestMapping(value = "/user", method = RequestMethod.GET)
public ModelAndView user() {
return new ModelAndView("user", "command", new User());
}
@RequestMapping(value = "/addUser", method = RequestMethod.POST)
public String addUser(@ModelAttribute("SpringWeb")User user,
ModelMap model) {
model.addAttribute("username", user.getUsername());
model.addAttribute("password", user.getPassword());
model.addAttribute("address", user.getAddress());
return "userlist";
}
}
這里的第一個(gè)服務(wù)方法user()
,我們已經(jīng)在ModelAndView
對象中傳遞了一個(gè)名稱為“command
”的空User
對象,因?yàn)槿绻贘SP文件中使用<form:form>
標(biāo)簽,spring框架需要一個(gè)名稱為“command
”的對象。 所以當(dāng)調(diào)用user()方法時(shí),它返回user.jsp視圖。
第二個(gè)服務(wù)方法addUser()
將根據(jù)URL => TextArea/addUser
上的POST方法請求時(shí)調(diào)用。根據(jù)提交的信息準(zhǔn)備模型對象。 最后從服務(wù)方法返回“userlist
”視圖,這將呈現(xiàn)userlist.jsp
視圖。
user.jsp 的代碼如下所示 -
<%@ page contentType="text/html; charset=UTF-8"%>
<%@taglib uri="http://www.springframework.org/tags/form" prefix="form"%>
<html>
<head>
<title>Spring MVC表單處理(文本域)</title>
</head>
<body>
<h2>用戶信息</h2>
<form:form method="POST" action="/TextArea/addUser">
<table>
<tr>
<td><form:label path="username">用戶名:</form:label></td>
<td><form:input path="username" /></td>
</tr>
<tr>
<td><form:label path="password">密碼:</form:label></td>
<td><form:password path="password" /></td>
</tr>
<tr>
<td><form:label path="address">地址:</form:label></td>
<td><form:textarea path="address" rows="5" cols="30" /></td>
</tr>
<tr>
<td colspan="2">
<input type="submit" value="提交"/>
</td>
</tr>
</table>
</form:form>
</body>
</html>
這里使用<form:textarea />
標(biāo)簽來呈現(xiàn)HTML密碼框。 例如 -
<form:textarea path="address" rows="5" cols="30" />
它將呈現(xiàn)以下HTML內(nèi)容。
<textarea id="address" name="address" rows="5" cols="30">
userlist.jsp 的代碼如下所示 -
<%@ page contentType="text/html; charset=UTF-8"%>
<%@taglib uri="http://www.springframework.org/tags/form" prefix="form"%>
<html>
<head>
<title>Spring MVC表單處理之-密碼</title>
</head>
<body>
<h2>提交的用戶信息</h2>
<table>
<tr>
<td>用戶名:</td>
<td>${username}</td>
</tr>
<tr>
<td>密碼:</td>
<td>${password}</td>
</tr>
</table>
</body>
</html>
完成創(chuàng)建源和配置文件后,發(fā)布應(yīng)用程序到Tomcat服務(wù)器。
現(xiàn)在啟動Tomcat服務(wù)器,現(xiàn)在嘗試訪問URL => http://localhost:8080/TextArea/user ,如果Spring Web應(yīng)用程序沒有問題,應(yīng)該看到以下結(jié)果:
提交所需信息后,點(diǎn)擊提交按鈕提交表單。 如果Spring Web應(yīng)用程序沒有問題,應(yīng)該看到以下結(jié)果: