`

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不同的地方!

0
3
分享到:
评论
2 楼 hw1287789687 2016-07-06  
lzrdjh88 写道
页面进行修改如下:               
<tr> 
                    <td>身份证:</td> 
                    <td> <input type="text" name="identity"  /> </td> 
                </tr> 
                <tr> 
                    <td>用户编号:</td> 
                    <td><input type="text" name="studentID"  /> </td> 
                </tr> 
                <tr> 
                    <td colspan="2"> 
                    <input type="submit"  value="login"/> 
                    </td> 

    @RequestMapping(value = "/loginVerify") 
    public String login(User user,Model model)
应该就可以了

谢谢
1 楼 lzrdjh88 2016-07-04  
页面进行修改如下:               
<tr> 
                    <td>身份证:</td> 
                    <td> <input type="text" name="identity"  /> </td> 
                </tr> 
                <tr> 
                    <td>用户编号:</td> 
                    <td><input type="text" name="studentID"  /> </td> 
                </tr> 
                <tr> 
                    <td colspan="2"> 
                    <input type="submit"  value="login"/> 
                    </td> 

    @RequestMapping(value = "/loginVerify") 
    public String login(User user,Model model)
应该就可以了

相关推荐

    spring mvc 3.2 参考文档

    在Spring Web MVC 中,您可以使用任何对象作为命令对象(command orject)或表单对象 ;您不需要实现框架特定接口或基类。Spring的数据绑定是高度灵活的: 例如,它把类型不匹配当做验证错误,这样就可以算作应用程序...

    spring-mvc-learn:spring-mvc学习代码源码-mvc source code

    在spring-mvc的配置文件中添加bean:org.springframework.context.support.ConversionServiceFactoryBean,注册转换器,添加注释驱动的转换服务属性 格式化程序 实现Formatter接口 在spring-mvc的配置文件中添加bean...

    javaSpring-经典概念题-试题-中文

    从基础概念如Spring IoC容器和Spring Bean的定义,到高级主题如依赖注入和AOP的实现,以及Web开发方面的Spring MVC框架和表单数据处理等内容都有涉及。此外,还包括了Spring事务管理和Spring Boot框架的介绍,帮助...

    基于Springboot+Mybatis+ SpringMvc+springsecrity+Redis完整网站后台管理系统

    job集群:创建job、取消job、查询job、下拉搜索spring bean 数据源监控:druid 接口swagger文档 日志查询 邮件管理:发送邮件、搜索邮件 文件管理:上传文件、文件列表、文件删除 公告管理:公告未读提醒、...

    SpringMVC中使用bean来接收form表单提交的参数时的注意点

    本篇文章主要介绍了SpringMVC中使用bean来接收form表单提交的参数时的注意点,具有很好的参考价值。下面跟着小编一起来看下吧

    基于java的企业级应用开发:整合环境搭建.ppt

    17.1.1 整合思路 SSM框架整合图如下所示: 在第10章讲解Spring与MyBatis框架的整合时,我们是通过Spring实例化Bean,然后调用实例对象中的查询方法来执行MyBatis映射文件中的SQL语句的,如果能够正确查询出数据库中...

    Spring 2.0 开发参考手册

    2.5.1. Spring MVC的表单标签库 2.5.2. Spring MVC合理的默认值 2.5.3. Portlet 框架 2.6. 其他特性 2.6.1. 动态语言支持 2.6.2. JMX 2.6.3. 任务规划 2.6.4. 对Java 5(Tiger)的支持 2.7. 移植到Spring ...

    Spring-Reference_zh_CN(Spring中文参考手册)

    2.5.1. Spring MVC的表单标签库 2.5.2. Spring MVC合理的默认值 2.5.3. Portlet 框架 2.6. 其他特性 2.6.1. 动态语言支持 2.6.2. JMX 2.6 .3. 任务规划 2.6.4. 对Java 5(Tiger)的支持 2.7. 移植到Spring 2.0 ...

    Spring中文帮助文档

    2.5.4. Spring MVC的表单标签库 2.5.5. 对Tiles 2 支持 2.5.6. 对JSF 1.2支持 2.5.7. JAX-WS支持 2.6. 其他 2.6.1. 动态语言支持 2.6.2. 增强的测试支持 2.6.3. JMX 支持 2.6.4. 将Spring 应用程序上下文...

    spring security 参考手册中文版

    5.1.3使用Spring MVC的AbstractSecurityWebApplicationInitializer 32 5.2 HttpSecurity 32 5.3 Java配置和表单登录 34 5.4授权请求 35 5.5处理注销 36 5.5.1 LogoutHandler 37 5.5.2 LogoutSuccessHandler 37 5.5.3...

    spring chm文档

    2.5.1. Spring MVC的表单标签库 2.5.2. Spring MVC合理的默认值 2.5.3. Portlet 框架 2.6. 其他特性 2.6.1. 动态语言支持 2.6.2. JMX 2.6.3. 任务规划 2.6.4. 对Java 5(Tiger)的支持 2.7. 移植到Spring ...

    Spring in Action(第二版 中文高清版).part2

    3.5 使用Spring的特殊Bean 3.5.1 后处理Bean 3.5.2 Bean工厂的后处理 3.5.3 配置属性的外在化 3.5.4 提取文本消息 3.5.5 程序事件的解耦 3.5.6 让Bean了解容器 3.6 脚本化的Bean 3.6.1 给椰子上Lime 3.6.2...

    Spring in Action(第二版 中文高清版).part1

    3.5 使用Spring的特殊Bean 3.5.1 后处理Bean 3.5.2 Bean工厂的后处理 3.5.3 配置属性的外在化 3.5.4 提取文本消息 3.5.5 程序事件的解耦 3.5.6 让Bean了解容器 3.6 脚本化的Bean 3.6.1 给椰子上Lime 3.6.2...

    Spring API

    2.5.4. Spring MVC的表单标签库 2.5.5. 对Tiles 2 支持 2.5.6. 对JSF 1.2支持 2.5.7. JAX-WS支持 2.6. 其他 2.6.1. 动态语言支持 2.6.2. 增强的测试支持 2.6.3. JMX 支持 2.6.4. 将Spring 应用程序上下文...

    spring in action英文版

     10.2.2 装载Spring Bean至Tapestry页面中  10.3 集成JavaServer Faces  10.3.1 解析变量  10.3.2 发布请求已处理事件  10.4 集成WebWork  10.4.1 WebWork1  10.4.2 XWork/WebWork2  10.5 小...

    Spring攻略(第二版 中文高清版).part1

    1.2 配置Spring IoC容器中的Bean 4 1.2.1 问题 4 1.2.2 解决方案 4 1.2.3 工作原理 4 1.3 调用构造程序创建Bean 14 1.3.1 问题 14 1.3.2 解决方案 14 1.3.3 工作原理 14 1.4 解决构造程序歧义 17 ...

    Spring攻略(第二版 中文高清版).part2

    1.2 配置Spring IoC容器中的Bean 4 1.2.1 问题 4 1.2.2 解决方案 4 1.2.3 工作原理 4 1.3 调用构造程序创建Bean 14 1.3.1 问题 14 1.3.2 解决方案 14 1.3.3 工作原理 14 1.4 解决构造程序歧义 17 ...

    Spring.3.x企业应用开发实战(完整版).part2

    2.5.1 配置Spring MVC框架 2.5.2 处理登录请求 2.5.3 JSP视图页面 2.6 运行Web应用 2.7 小结 第2篇 IoC和AOP 第3章 IoC容器概述 3.1 IoC概述 3.1.1 通过实例理解IoC的概念 3.1.2 IoC的类型 3.1.3 通过容器完成依赖...

    Spring3.x企业应用开发实战(完整版) part1

    2.5.1 配置Spring MVC框架 2.5.2 处理登录请求 2.5.3 JSP视图页面 2.6 运行Web应用 2.7 小结 第2篇 IoC和AOP 第3章 IoC容器概述 3.1 IoC概述 3.1.1 通过实例理解IoC的概念 3.1.2 IoC的类型 3.1.3 通过容器完成依赖...

Global site tag (gtag.js) - Google Analytics