`

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表单标签库

    Spring MVC支持JSR-303/JSR-349 Bean Validation标准,允许开发者定义自定义验证规则。通过在模型对象的属性上添加注解,如`@Size`、`@NotNull`等,可以实现数据验证。 6. **总结** Spring MVC的表单标签库极大地...

    SpringMVCr接收表单bean示例

    总的来说,`SpringMVC接收表单bean示例`是一个综合性的示例,涵盖了Spring MVC处理HTTP请求、使用Java Bean接收和验证表单数据、结合Hibernate进行数据库操作等多个关键知识点。通过这个示例,开发者可以深入理解...

    spring mvc服务端表单验证实例

    在Spring MVC框架中,服务端表单验证是一个关键的步骤,确保从客户端接收到的数据是有效和安全的。本实例提供了完整的代码和配置,让你能够快速理解和应用服务端验证。以下是对这个实例的详细解析: 1. **Spring ...

    Spring mvc 教程

    - **处理表单中的文件上传**:通过控制器方法来接收和处理上传的文件。 #### 异常处理 (Exception Handling) - **处理器异常解析器 HandlerExceptionHandler**:专门处理控制器中抛出的异常。 - **@...

    Spring MVC 基础实例源码01

    2. **DispatcherServlet**:Spring MVC的入口点,它是一个前端控制器,接收所有HTTP请求,并根据配置的HandlerMapping转发到相应的Controller。 3. **Controller**:Controller是处理用户请求的组件,通常使用注解...

    Spring MVC学习指南

    我们从创建登录表单开始,然后通过配置 Servlet 和 Spring 配置文件来让 DispatcherServlet 接收和处理请求,最后通过控制器处理业务逻辑并将结果数据返回给视图展示。通过这一系列步骤,我们可以更好地理解 Spring ...

    maven与spring MVC

    对于数据验证,Spring MVC支持JSR 303/349(Java Bean Validation)规范,允许在控制器层或者模型层定义验证规则。当用户提交表单时,Spring MVC会自动执行这些验证,如果数据无效,会返回错误信息。 DWR的集成: ...

    spring mvc 3_demo

    Spring MVC支持表单数据绑定,通过`@RequestParam`或`@ModelAttribute`注解获取表单字段。同时,可以通过`@Valid`结合`javax.validation`库进行数据验证。 5. **异常处理**: `@ExceptionHandler`注解可以用来...

    Spring MVC简单例子

    Spring MVC可以通过自定义Validator或使用JSR-303/JSR-349 Bean Validation进行验证。同时,安全方面需要考虑防止SQL注入和XSS攻击。 7. **视图解析器**:设置ViewResolver,如InternalResourceViewResolver,用来...

    spring mvc,spring, hibernate 整合登录实例

    3. **配置Spring**:编写Spring的配置文件,定义bean,包括数据源、SessionFactory(用于Hibernate)、事务管理器以及Spring MVC的相关配置。这里需要配置DAO和Service层的bean,使它们能够利用Hibernate操作数据库...

    Spring MVC3复杂表单终极解决办法

    在处理复杂的表单提交时,Spring MVC 提供了多种解决方案。本文将深入探讨Spring MVC3在处理复杂表单场景下的最佳实践。 首先,我们要理解什么是复杂表单。复杂表单通常涉及到多个关联对象的提交,比如用户信息与...

    Spring MVC框架的各种依赖包下载

    这些模块提供了依赖注入(DI)、bean管理、事务控制等功能,是Spring MVC运行的基石。 2. **Spring Web**:这个模块提供了与Web相关的功能,如Servlet监听器、HTTP上下文等,使得Spring可以与Web应用服务器进行交互...

    Servlet JSP Spring MVC初学指南(alin书签).pdf

    在Spring MVC中,控制器接收用户请求,调用业务逻辑(通常由Spring Bean处理),并返回一个模型,该模型随后被渲染为视图。Spring MVC还提供了强大的数据绑定、表单验证和异常处理功能。 在学习Servlet、JSP和...

    Spring MVC整合shiro

    - 将Shiro配置与Spring的Bean管理相结合,便于维护和扩展。 - 在Web层进行权限控制,避免过多的业务逻辑与权限相关代码混合。 - 合理设计权限体系,避免过度复杂导致管理困难。 以上就是关于"Spring MVC 整合 ...

    Spring MVC 的注解使用实例

    9. `@Autowired` 注解:Spring的依赖注入注解,可以自动将匹配的bean注入到字段或方法中。 10. `@Value` 注解:用于注入配置属性值,可以从属性文件中读取。 以上就是Spring MVC中的一些核心注解用法,通过这些...

    spring mvc案例+配置+原理详解+架包

    2. **spring-mvc.xml**:定义Bean、数据源、事务管理器、视图解析器、HandlerMapping和HandlerAdapter等。 四、Spring MVC 原理 1. **AOP代理**:Spring MVC中的切面编程用于实现如日志记录、事务管理等功能。 2. ...

    注册表单spring MVC+hibernate+spring+easyui

    在本项目中,Spring作为依赖注入容器,管理所有bean的生命周期,包括Spring MVC的控制器、Hibernate的数据访问对象(DAO)等。此外,Spring的事务管理功能可以确保注册操作的原子性,防止因部分数据更新失败而导致的...

    spring mvc 附件上传代码

    Spring配置文件主要用于配置Spring MVC的相关bean,包括文件上传解析器、请求映射器和控制器等。 1. **文件上传解析器**: - `&lt;bean id="multipartResolver" class="org.springframework.web.multipart.commons....

    spring mvc上传文件

    在本文中,我们将深入探讨如何使用Spring MVC框架与Ajax技术结合来实现文件上传的功能。Spring MVC是Spring框架的一部分,提供了一种模型-视图-控制器(MVC)架构模式,用于构建Web应用程序。Ajax(Asynchronous ...

Global site tag (gtag.js) - Google Analytics