上一篇搭建了基本项目,这一篇在此基础上加入表单验证功能。
第一步,添加command类
package test.bean;
import javax.validation.constraints.Size;
public class User {
@Size(min=3,max=30)
private String username;
@Size(min=3,max=30)
private String password;
private String gender;
private int age;
private String email;
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 getGender() {
return gender;
}
public void setGender(String gender) {
this.gender = gender;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public String getEmail() {
return email;
}
public void setEmail(String email) {
this.email = email;
}
}
各种约束注解的说明在
这篇文章中有说明。
第二步,添加相应的Controller
package test.controller;
import javax.validation.Valid;
import org.springframework.stereotype.Controller;
import org.springframework.validation.BindingResult;
import org.springframework.web.bind.annotation.ModelAttribute;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import test.bean.User;
@Controller
@RequestMapping("signup")
public class UserController {
@RequestMapping(method=RequestMethod.GET)
public String base(){
return "signup";
}
@RequestMapping(method=RequestMethod.POST)
public String save(@Valid User user, BindingResult result){
if (result.hasErrors()){
return "signup";
}
return "savesuccess";
}
@ModelAttribute
public User commandBind(){
return new User();
}
}
第三步,表单页面
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
<style>
.error {
color: #ff0000;
}
.errorblock {
color: #000;
background-color: #ffEEEE;
border: 3px solid #ff0000;
padding: 8px;
margin: 16px;
}
</style>
</head>
<body>
<form:form commandName="user" action="signup">
<form:errors path="*" cssClass="errorblock" element="div" />
用户名:<form:input path="username"/><br/>
密码:<form:password path="password"/><br/>
性别:<form:radiobutton path="gender" value="male"/>男|
<form:radiobutton path="gender" value="female"/>女<br/>
年龄:<form:input path="age"/><br/>
Email:<form:input path="email"/><br/>
<input type="submit" />
</form:form>
</body>
</html>
需要的Jar包
validation-api-1.0.0.GA.jar(提供JSR303基本注释)
hibernate-validator-4.2.0.Final.jar(validate provider,包含验证实现类)
下面是hibernate-validator需要的jar包
log4j-1.2.17.jar
slf4j-api-1.7.2.jar
slf4j-log4j12-1.7.2.jar
分享到:
相关推荐
在这个名为"springMVC_Validator"的项目中,我们关注的核心是SpringMVC中的表单验证功能,它通过集成Validator接口和使用自定义注解,提供了一种灵活且强大的验证机制。 表单验证在Web应用中扮演着至关重要的角色,...
hibernate-validator-5.2.4.Final.jar hibernate-validator-annotation-processor-5.2.4.Final.jar hibernate-validator-cdi-5.2.4.Final.jar validation-api-1.1.0.Final.jar jboss-logging-3.2.1.Final.jar ...
一、SpringMVC表单验证简介 在Web应用开发中,表单验证是必不可少的一步骤。SpringMVC提供了强大的表单验证机制,允许开发者轻松地实现表单验证功能。 二、基本的表单操作 在SpringMVC中,可以使用`@...
当用户提交表单时,Spring MVC会先调用Hibernate Validator进行验证,如果验证失败,会将错误信息存储在BindingResult对象中。开发者可以通过这个对象获取并展示错误信息,向用户返回友好的错误提示。 总的来说,...
在Spring MVC框架中,服务端表单验证是一个关键的步骤,确保从客户端接收到的数据是有效和安全的。本实例提供了完整的代码和配置,让你能够快速理解和应用服务端验证。以下是对这个实例的详细解析: 1. **Spring ...
本教程将深入探讨如何在Spring MVC项目中使用Validation进行表单验证。 首先,我们需要引入必要的依赖。在Spring MVC项目中,我们需要添加Hibernate Validator的库,这可以通过在pom.xml文件中添加以下Maven依赖来...
- **错误处理**:当表单验证失败时,Spring MVC会自动将错误信息保存到`BindingResult`对象中。可以在Controller中添加`BindingResult`作为参数来获取这些错误信息,并在视图中展示给用户。 ```java @...
在这个"SpringMVC+jsp之表单验证登录"的主题中,我们将探讨如何利用SpringMVC和JSP来实现用户登录功能,包括表单验证和交互流程。 首先,我们需要理解SpringMVC的核心组件。DispatcherServlet是入口点,负责接收...
1. **表单标签**:在SpringMVC中,我们通常使用JSP或Thymeleaf等模板引擎来处理前端视图。对于JSP,Spring提供了一组自定义的JSTL标签,如`<form:form>`、`<form:input>`、`<form:errors>`等,这些标签简化了与...
这是我的这篇博文的源码:SpringMVC与SiteMesh2.4无缝整合并借助JSR303规范实现表单验证,博文地址:http://blog.csdn.net/jadyer/article/details/7574668
对于表单验证失败或其他异常情况,SpringMVC允许定义全局异常处理器。通过`@ExceptionHandler`注解,我们可以优雅地处理错误并返回合适的视图。 六、源码分析 SpringMVC的源码中,`DispatcherServlet`是核心组件,...
总结,这个“springmvc 第二个例子”涵盖了Spring MVC的基本操作,包括接收表单参数、处理业务逻辑以及使用重定向技术。理解这些概念对于开发基于Spring MVC的Web应用至关重要。在实践中,还需要考虑错误处理、国际...
springmvc的服务器表单校验所需要的jar包,分别为:classmate.jar、classmate.jar、hibernate-validator-annotation-processor-5、hibernate-validator-annotation-processor-5、validation-api-1.1.0.jar
通过 `@Valid` 注解和自定义校验注解,可以在服务端进行表单验证。 ### 第 8 章 文件上传与下载 SpringMVC 支持文件上传和下载功能,通过 `MultipartFile` 类处理文件上传,而文件下载可以通过设置响应头和流操作来...
- Spring MVC提供了内置的验证支持,可以结合`@Valid`注解和自定义校验注解(如`@NotBlank`, `@Size`等)来验证表单数据。如果验证失败,错误信息会被自动添加到模型中,并重定向回表单页面显示。 - 对于全局异常...
form标签是SpringMVC表单标签的基础,它的主要功能有两点: 1. 自动绑定表单对象:form标签可以将ModelMap中的属性值绑定到对应的表单实体对象上。默认情况下,它会查找名为`command`的属性。这意味着,如果你的...
EasyUI是一个基于jQuery的UI组件库,提供了一系列美观且易于使用的界面元素,如表格、表单、按钮、对话框等。在本Demo中,EasyUI用于构建用户友好的Web界面,使得用户可以方便地进行数据的查看、编辑和操作。它的...
2. **注册控制器**: 编写一个Spring MVC控制器方法,处理表单提交的POST请求,接收用户输入的数据,并进行验证。 3. **数据存储**: 虽然这里没有Service和DAO层,但通常会将注册信息保存到数据库。你可以暂时模拟...
SpringMVC 的核心思想、框架特点、入门示例、参数传递、标签介绍、拦截器、类型转换、JSON 格式数据的输入和输出、文件上传、国际化和本地化、验证等方面的知识点,旨在帮助开发者快速掌握 SpringMVC 的使用。