spring mvc 接收表单 bean
spring MVC如何接收表单bean 呢?
之前项目中MVC框架一直用struts2,所以我也就按照struts2 的思维来思考
页面loginInput.jsp:
<?xml version="1.0" encoding="UTF-8" ?>
<%@ page language="java" contentType="text/html; charset=UTF-8"
	pageEncoding="UTF-8"%>
<%
	String path = request.getContextPath();
	String basePath = request.getScheme() + "://"
			+ request.getServerName() + ":" + request.getServerPort()
			+ path + "/";
%>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>Insert title here</title>
</head>
<body>
	<center>
		<font color="red" >${message }</font>
		<form action="<%=path %>/user/loginVerify">
			<table>
				<tr>
					<td>身份证:</td>
					<td> <input type="text" name="user.identity"  /> </td>
				</tr>
				<tr>
					<td>用户编号:</td>
					<td><input type="text" name="user.studentID"  /> </td>
				</tr>
				<tr>
					<td colspan="2">
					<input type="submit"  value="login"/>
					</td>
				</tr>
			</table>
		</form>
		
	</center>
	
</body>
</html>控制器LoginController 中登录的方法:
/***
	 * 校验登录用户
	 * 
	 * @param session
	 * @param user
	 * @return
	 * @throws UnsupportedEncodingException
	 * @throws Exception
	 */
	@RequestMapping(value = "/loginVerify")
	public String login(User user, HttpSession session,
			Map<String, Object> map,Model model) throws UnsupportedEncodingException,
			Exception {
		User user2 = null;
		if (user.getIdentity() == null) {
			map.put("message", "请输入身份证");
			return "loginInput";
		}
		map.put("identity", user.getIdentity());
		model.addAttribute("identity", user.getIdentity());
		System.out.println("identity:"+session.getAttribute("identity"));
		user2 = this.userDao.getByIdentityAndStudentID(new User(user.getIdentity(),
				user.getStudentID()));
		System.out.println("user2:" + user2);
		if (user2 != null) {
			return "welcome";
		} else {
			map.put("message", "身份证和用户编号有误,请重新登录");
			return "loginInput";
		}
	}我认为页面表单中name为user.identity 和user.studentID的元素会自动注入到上述方法的变量User user 中,结果没有!!!?
实体类User:
package com.springmvc.entity;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
/***
 * father class
 * @author huangwei
 *
 */
@Entity
public  class User {
	private int id;
	/**
	 * 身份证
	 */
	private String identity;
	/***
	 * 用户编号
	 */
	private String studentID;
	private String username;
	
	public User() {
		super();
	}
	public User(String identity, String studentID) {
		super();
		this.identity = identity;
		this.studentID = studentID;
	}
	@Id
	@GeneratedValue
	public int getId() {
		return id;
	}
	public void setId(int id) {
		this.id = id;
	}
	public String getIdentity() {
		return identity;
	}
	public void setIdentity(String identity) {
		this.identity = identity;
	}
	public String getStudentID() {
		return studentID;
	}
	public void setStudentID(String studentID) {
		this.studentID = studentID;
	}
	public String getUsername() {
		return username;
	}
	public void setUsername(String username) {
		this.username = username;
	}
	
}原来,spring MVC 跟struts2的注入方式不一样!!
后来我把页面中的name属性改为identity 和studentID 就好了:
<tr>
<td>身份证:</td>
<td> <input type="text" name="identity" /> </td>
</tr>
<tr>
<td>用户编号:</td>
<td><input type="text" name="studentID" /> </td>
</tr>
这就是spring MVC与struts2 ioc不同的地方!
相关推荐
  编程点滴    2020-07-29  
   itjavashuai    2020-07-04  
   凯哥Java    2020-04-25  
   yupi0    2020-10-10  
   spring    2020-08-18  
   幸运小侯子    2020-07-05  
   qingjiuquan    2020-06-29  
   shushan    2020-06-25  
   小鱿鱼    2020-06-22  
   咻pur慢    2020-06-18  
   melonjj    2020-06-17  
   qingjiuquan    2020-06-13  
   neweastsun    2020-06-05  
   小鱿鱼    2020-06-05  
   mxcsdn    2020-05-31  
   吾日五省我身    2020-05-27  
   牧场SZShepherd    2020-05-27  
 