SpringMVC 表单

SpringMVC 表单

文本框

标签
<form:label path="name">姓名:</form:label>
文本框	 <form:input />标签
<form:input path="name" />
//html
<input id="name" name="name" type="text" value=""/>
密码框	 <form:password />标签
<form:password path="password" />
//html
<input id="password" name="password" type="password" value=""/>
文本域	 <form:textarea />标签
<form:textarea path="address" rows="5" cols="30" >
//html
<textarea id="address" name="address" rows="5" cols="30">
复选框	 <form:checkbox />标签
<form:checkbox path="receivePaper" />
/html
<input id="receivePaper1" name="receivePaper" type="checkbox" value="true"/>
<input type="hidden" name="_receivePaper" value="on"/>
复选框(多项)	<form:checkboxes />标签
<form:checkboxes items="${webFrameworkList}" path="favorite" />
//html
<span>
<input id="favorite" name="favorite" type="checkbox" value="Spring MVC" checked="checked"/>
<label for="favorite1">Spring MVC</label>
</span>
····
<span>
<input id="favorite4" name="favorite" type="checkbox" value="Apache Wicket"/>
<label for="favorite4">Apache Wicket</label>
</span>
<input type="hidden" name="_favorites" value="on"/>
单选按钮		<form:radiobutton />标签
<form:radiobutton path="gender" value="M" label="" />
<form:radiobutton path="gender" value="F" label="" />
//html
<input id="gender1" name="gender" type="radio" value="M" checked="checked"/><label for="gender1"></label>
<input id="gender2" name="gender" type="radio" value="F"/><label for="gender2"></label>
多项单选按钮		<form:radiobuttons />标签
<form:radiobuttons path="favoriteNumber" items="${numbersList}" />
//html
<span>
<input id="favoriteNumber1" name="favoriteNumber" type="radio" value="1"/>
<label for="favoriteNumber1">1</label>
</span>
...
<span>
<input id="favoriteNumber4" name="favoriteNumber" type="radio" value="4"/>
<label for="favoriteNumber4">4</label>
</span>
下拉框	 <form:select /> , <form:option /><form:options />标签
<form:select path="country">
   <form:option value="NONE" label="Select"/>
   <form:options items="${countryList}" />
</form:select>
//html
<select id="country" name="country">
<option value="NONE">请选择...</option>
<option value="US">United States</option>
<option value="CH">China</option>
<option value="MY">Malaysia</option>
<option value="SG">Singapore</option>
</select>
列表多选框	 <form:select /> 及其属性 multiple=true标签
<form:select path="skills" items="${skillsList}" multiple="true" />
//html
<select id="skills" name="skills" multiple="multiple">
<option value="Struts">Struts</option>
<option value="Hibernate">Hibernate</option>
<option value="Apache Wicket">Apache Hadoop</option>
<option value="Spring">Spring</option>
</select>
<input type="hidden" name="_skills" value="1"/>
隐藏字段	   <form:hidden />标签
<form:hidden path="id" value="1000"/>
//html
<input id="id" name="id" type="hidden" value="1000"/>
错误处理	   <form:errors />标签
<form:errors path="*" cssClass="errorblock" element="div" />
<!--它将呈现所有输入验证的错误消息。
使用带有path =“name”的<form:errors />标记来渲染name字段的错误消息。-->
<form:errors path="name" cssClass="error" />
文件上传处理 
<form:form method="POST" modelAttribute="fileUpload" enctype="multipart/form-data">
	请选择一个文件上传 : 
	<input type="file" name="file" />
	<input type="submit" value="提交上传" />
</form:form>
<!--这里使用带有value =“fileUpload”的modelAttribute属性来映射文件用服务器模型上传控件。-->

文档视图
在这里插入图片描述
web.xml

<web-app id="WebApp_ID" version="2.5"
   xmlns="http://java.sun.com/xml/ns/javaee" 
   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
   xsi:schemaLocation="http://java.sun.com/xml/ns/javaee 
   http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
   
	<display-name>Spring MVC Application</display-name>
	<servlet>
      	<servlet-name>page</servlet-name>
      	<servlet-class>
        	 org.springframework.web.servlet.DispatcherServlet
     	 </servlet-class>
     	 <load-on-startup>1</load-on-startup>
   </servlet>

   <servlet-mapping>
     	 <servlet-name>page</servlet-name>
     	 <url-pattern>/</url-pattern>
   </servlet-mapping>
   
   <filter>
   		<filter-name>CharacterEncodingFilter</filter-name>
   		<filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
   		<init-param>
   			<param-name>encoding</param-name>
   			<param-value>utf-8</param-value>
   		</init-param>
   </filter>
   <filter-mapping>
   		<filter-name>CharacterEncodingFilter</filter-name>
   		<url-pattern>/*</url-pattern>
   </filter-mapping>

</web-app>

page-servlet.xml

<beans xmlns="http://www.springframework.org/schema/beans"
   xmlns:context="http://www.springframework.org/schema/context"
   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
   xsi:schemaLocation="
   http://www.springframework.org/schema/beans     
   http://www.springframework.org/schema/beans/spring-beans.xsd
   http://www.springframework.org/schema/context 
   http://www.springframework.org/schema/context/spring-context.xsd">
   
    <context:component-scan base-package="com.zl" />
   	<bean class = "org.springframework.web.servlet.view.InternalResourceViewResolver">
   		<property name="prefix" value="/WEB-INF/jsp/" />
      	<property name="suffix" value=".jsp" />
   	</bean>
</beans>

User

public class User {
	private String username;
	private String password;
	private String address;
	private boolean receivePaper;	 
	private String[] favorite;		 
	private String gender;  		 
	private String favoriteNumber;
    private String country;
    private String [] skills;
    private Integer id; 	
	
	Getter Setter methods.....
}

UserController.java

@Controller
public class UserController {

	@RequestMapping(value = { "/user3", "/user10" }, method = RequestMethod.GET)
	public ModelAndView user() {
		User user = new User();
		user.setFavorite((new String[] { "Spring MVC", "Struts 2" }));
		user.setGender("M");

		return new ModelAndView("user", "command", new User());
	}

	@RequestMapping(value = "/addUser2", 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());
		if (user.isReceivePaper())
			model.addAttribute("receivePaper", "是");
		else
			model.addAttribute("receivePaper", "否");
		model.addAttribute("favorite", user.getFavorite());
		model.addAttribute("gender", user.getGender());
		model.addAttribute("favoriteNumber", user.getFavoriteNumber());
		model.addAttribute("country", user.getCountry());
		model.addAttribute("skills", user.getSkills());
		model.addAttribute("id", user.getId());

		return "userlist";
	}

	@ModelAttribute("webFrameworkList")
	public List<String> getWebFrameworkList() {
		List<String> webFrameworkList = new ArrayList<String>();
		webFrameworkList.add("Spring MVC");
		webFrameworkList.add("Spring Boot");
		webFrameworkList.add("Struts 2");
		webFrameworkList.add("Apache Hadoop");
		return webFrameworkList;
	}

	@ModelAttribute("numbersList")
	public List<String> getNumbersList() {
		List<String> numbersList = new ArrayList<String>();
		numbersList.add("1");
		numbersList.add("2");
		numbersList.add("3");
		numbersList.add("4");
		return numbersList;
	}

	@ModelAttribute("countryList")
	public Map<String, String> getCountryList() {
		Map<String, String> countryList = new HashMap<String, String>();
		countryList.put("US", "United States");
		countryList.put("CH", "China");
		countryList.put("SG", "Singapore");
		countryList.put("MY", "Malaysia");
		return countryList;
	}

	@ModelAttribute("skillsList")
	public Map<String, String> getSkillsList() {
		Map<String, String> skillList = new HashMap<String, String>();
		skillList.put("Hibernate", "Hibernate");
		skillList.put("Spring", "Spring");
		skillList.put("Apache Hadoop", "Apache Hadoop");
		skillList.put("Struts", "Struts");
		return skillList;
	}
}

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="/pageweb/addUser2">
		<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><form:label path="receivePaper">订阅?</form:label></td>
				<td><form:checkbox path="receivePaper" /></td>
			</tr>
			<tr>
				<td><form:label path="receivePaper">喜欢的框架	</form:label></td>
				<td><form:checkboxes items="${webFrameworkList}"
						path="favorite" /></td>
			</tr>
			<tr>
				<td><form:label path="gender">性别:</form:label></td>
				<td><form:radiobutton path="gender" value="M" label="" /> <form:radiobutton
						path="gender" value="F" label="" /></td>
			</tr>
			<tr>
				<td><form:label path="favoriteNumber">喜欢的数字:</form:label></td>
				<td><form:radiobuttons path="favoriteNumber"
						items="${numbersList}" /></td>
			</tr>
			<tr>
				<td><form:label path="country">所在国家:</form:label></td>
				<td><form:select path="country">
						<form:option value="NONE" label="请选择..." />
						<form:options items="${countryList}" />
					</form:select></td>
			</tr>
			<tr>
				<td><form:label path="skills">技术:</form:label></td>
				<td><form:select path="skills" items="${skillsList}" multiple="true" /></td>
			</tr>
			<tr>
				<td>隐藏id</td>
				<td><form:hidden path="id" value="100"/></td>
			</tr>
			<tr>
				<td colspan="2"><input type="submit" value="提交" /></td>
			</tr>
		</table>
	</form:form>
</body>
</html>

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>
		<tr>
			<td>地址:</td>
			<td>${address}</td>
		</tr>
		<tr>
			<td>是否订阅新闻</td>
			<td>${receivePaper}</td>
		</tr>
		<tr>
			<td>喜欢的技术/框架</td>
			<td>
				<%
					String[] favorite = (String[]) request.getAttribute("favorite");
					for (String framework : favorite) {
						out.println(framework);
					}
				%>
			</td>
		</tr>
		<tr>
			<td>性别:</td>
			<td>${(gender=="M"? "男" : "女")}</td>
		</tr>
		<tr>
			<td>喜欢的数字:</td>
			<td>${favoriteNumber}</td>
		</tr>
		<tr>
			<td>国家:</td>
			<td>${country}</td>
		</tr>
		<tr>
			<td>技术:</td>
			<td>
				<%
					String[] skills = (String[]) request.getAttribute("skills");
					for (String skill : skills) {
						out.println(skill);
					}
				%>
			</td>
		</tr>
		<tr>
			<td>隐藏id:</td>
			<td>${id}</td>
		</tr>
	</table>
</body>
</html>

在这里插入图片描述
在这里插入图片描述

发布了25 篇原创文章 · 获赞 0 · 访问量 346

猜你喜欢

转载自blog.csdn.net/weixin_45808666/article/details/103805447