spring mvc: Hibernate验证器(字段不能为空,在1-150自己)
spring mvc: Hibernate验证器(字段不能为空,在1-150自己)
准备:
下载Hibernate Validator库 - Hibernate Validator。解压缩hibernate-validator-5.3.4.Final.jar
在/WEB-INF/下新建classes文件夹
访问地址:
http://localhost:8080/gugua3/student/index
项目:gugua3
包名: springtest
这里用到了hibernate-validator包中的,Range范围随机数注解,NotEmpty不为空注解
例如:
- import org.hibernate.validator.constraints.NotEmpty;
- import org.hibernate.validator.constraints.Range;
- public class Student {
- @NotEmpty
- private String name;
- @Range(min=10, max=99)
- private Integer age;
- private Integer id;
- }
配置文件:web.xml,applicationContext,springtest-servlet.xml
web.xml
- <web-app>
- <display-name>Archetype Created Web Application</display-name>
- <!--配置文件路径-->
- <context-param>
- <param-name>contextConfigLocation</param-name>
- <param-value>/WEB-INF/applicationContext.xml</param-value>
- </context-param>
- <!-- 字符过滤器 -->
- <filter>
- <filter-name>encodingFilter</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>encodingFilter</filter-name>
- <url-pattern>/*</url-pattern>
- </filter-mapping>
- <!-- 监听转发 -->
- <listener>
- <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
- </listener>
- <servlet>
- <servlet-name>springtest</servlet-name>
- <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
- <load-on-startup>1</load-on-startup>
- </servlet>
- <servlet-mapping>
- <servlet-name>springtest</servlet-name>
- <url-pattern>/</url-pattern>
- </servlet-mapping>
- </web-app>
springtest-servlet.xml
- <beans
- xmlns="http://www.springframework.org/schema/beans"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xmlns:mvc="http://www.springframework.org/schema/mvc"
- xmlns:context="http://www.springframework.org/schema/context"
- xsi:schemaLocation="http://www.springframework.org/schema/beans
- http://www.springframework.org/schema/beans/spring-beans.xsd
- http://www.springframework.org/schema/mvc
- http://www.springframework.org/schema/mvc/spring-mvc.xsd
- http://www.springframework.org/schema/context
- http://www.springframework.org/schema/context/spring-context.xsd">
- <bean class="org.springframework.context.support.ResourceBundleMessageSource" id="messageSource">
- <property name="basename" value="messages"/>
- </bean>
- <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
- <property name="prefix" value="/WEB-INF/jsp/" />
- <property name="suffix" value=".jsp" />
- </bean>
- </beans>
applicationContext.xml
- <beans
- xmlns="http://www.springframework.org/schema/beans"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xmlns:mvc="http://www.springframework.org/schema/mvc"
- xmlns:context="http://www.springframework.org/schema/context"
- xsi:schemaLocation="http://www.springframework.org/schema/beans
- http://www.springframework.org/schema/beans/spring-beans.xsd
- http://www.springframework.org/schema/mvc
- http://www.springframework.org/schema/mvc/spring-mvc.xsd
- http://www.springframework.org/schema/context
- http://www.springframework.org/schema/context/spring-context.xsd">
- <!-- 默认:注解映射支持 -->
- <mvc:annotation-driven/>
- <!-- 静态资源配置 -->
- <mvc:resources location="/pages/**" mapping="/pages/"/>
- <!-- 自动扫描包名,controller -->
- <context:component-scan base-package="springtest"/>
- </beans>
Student.java
- package springtest;
- import org.hibernate.validator.constraints.NotEmpty;
- import org.hibernate.validator.constraints.Range;
- public class Student {
- @NotEmpty
- private String name;
- @Range(min=10, max=99)
- private Integer age;
- private Integer id;
- public String getName() {
- return name;
- }
- public void setName(String name) {
- this.name = name;
- }
- public Integer getAge() {
- return age;
- }
- public void setAge(Integer age) {
- this.age = age;
- }
- public Integer getId() {
- return id;
- }
- public void setId(Integer id) {
- this.id = id;
- }
- }
StudentController.java
- package springtest;
- import org.springframework.stereotype.Controller;
- import org.springframework.ui.Model;
- import org.springframework.web.bind.annotation.ModelAttribute;
- import org.springframework.web.bind.annotation.RequestMapping;
- import org.springframework.web.bind.annotation.RequestMethod;
- import org.springframework.web.servlet.ModelAndView;
- import org.springframework.validation.annotation.Validated;
- import org.springframework.validation.BindingResult;
- @Controller
- public class StudentController {
- @RequestMapping(value="/student/index", method=RequestMethod.GET)
- public ModelAndView student()
- {
- return new ModelAndView("student_index2", "command", new Student());
- }
- @ModelAttribute("student")
- public Student createStudent()
- {
- return new Student();
- }
- @RequestMapping(value="/student/addStudent", method=RequestMethod.POST)
- public String addStudent(@ModelAttribute("student") @Validated Student student,
- BindingResult result, Model model)
- {
- if(result.hasErrors())
- {
- return "student_index2";
- }
- model.addAttribute("name", student.getName());
- model.addAttribute("age", student.getAge());
- model.addAttribute("id", student.getId());
- return "student_result2";
- }
- }
student_index.jsp
- <%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8"%>
- <%@ taglib uri="http://www.springframework.org/tags/form" prefix="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>student index</title>
- </head>
- <style>
- .error {
- color: #ff0000;
- }
- .errorblock {
- color: #000;
- background-color: #ffEEEE;
- border: 3px solid #ff0000;
- padding: 8px;
- margin: 16px;
- }
- </style>
- <body>
- <h2>学生信息</h2>
- <form:form method="post" action="/gugua3/student/addStudent" commandName="student">
- <form:errors path="*" cssClass="errorblock" element="div" />
- <table>
- <tr>
- <td><form:label path="name">姓名</form:label></td>
- <td><form:input path="name"/></td>
- <td><form:errors path="name" cssClass="error"/></td>
- </tr>
- <tr>
- <td><form:label path="age">年龄</form:label></td>
- <td><form:input path="age"/></td>
- <td><form:errors path="age" cssClass="error"/></td>
- </tr>
- <tr>
- <td><form:label path="id">编号</form:label></td>
- <td colspan="2"><form:input path="id"/></td>
- </tr>
- <tr>
- <td colspan="3">
- <input type="submit" vlaue="提交"/>
- </td>
- </tr>
- </table>
- </form:form>
- </body>
- </html>
student_result.jsp
- <%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8"%>
- <%@ page isELIgnored="false" %>
- <!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>student result</title>
- </head>
- <body>
- <table>
- <tr>
- <td>姓名</td>
- <td>${name}</td>
- </tr>
- <tr>
- <td>年龄</td>
- <td>${age}</td>
- </tr>
- <tr>
- <td>编号</td>
- <td>${id}</td>
- </tr>
- </table>
- </body>
- </html>
spring mvc: Hibernate验证器(字段不能为空,在1-150自己)的更多相关文章
- Spring MVC Hibernate验证器
下面的示例演示如何使用Spring Web MVC框架在表单中使用错误处理和验证器. 首先使用Eclipse IDE,并按照以下步骤使用Spring Web Framework开发基于动态表单的Web ...
- Hibernate Validation,Spring mvc 数据验证框架注解
1.@NotNull:不能为 Null,但是可以为Empty:用在基本数据类型上. @NotNull(message="{state.notnull.valid}", groups ...
- Spring MVC第一课:用IDEA构建一个基于Spring MVC, Hibernate, My SQL的Maven项目
作为一个Spring MVC新手最基本的功夫就是学会如何使用开发工具创建一个完整的Spring MVC项目,本文站在一个新手的角度讲述如何一步一步创建一个基于Spring MVC, Hibernate ...
- Java Web 学习(6) —— Spring MVC 之校验器
Spring MVC 之校验器 数据验证 一个典型的 Spring MVC 应用会同时应用到 formatters/converters 和 validators. 在调用 controller 期间 ...
- Java 本地开发环境搭建(框架采用 Spring+Spring MVC+Hibernate+Jsp+Gradle+tomcat+mysql5.6)
项目搭建采用技术栈为:Spring+Spring MVC+Hibernate+Jsp+Gradle+tomcat+mysql5.6 搭建环境文档目录结构说明: 使用Intellj Idea 搭建项目过 ...
- spring mvc +cookie+拦截器功能 实现系统自动登陆
先看看我遇到的问题: @ResponseBody @RequestMapping("/logout") public Json logout(HttpSession session ...
- Spring + Spring MVC + Hibernate
Spring + Spring MVC + Hibernate项目开发集成(注解) Posted on 2015-05-09 11:58 沐浴未来的我和你 阅读(307) 评论(0) 编辑 收藏 在自 ...
- Spring + Spring MVC + Hibernate项目开发集成(注解)
在自己从事的项目中都是使用xml配置的方式来进行的,随着项目的越来越大,会发现配置文件会相当的庞大,这个不利于项目的进行和后期的维护.于是考虑使用注解的方式来进行项目的开发,前些日子就抽空学习了一下. ...
- Hibernate验证器
第 4 章 Hibernate验证器 http://hibernate.org/validator/documentation/getting-started/#applying-constrain ...
随机推荐
- 004-Maven的安装与配置
1.在Windows上安装Maven 1.1.检查jdk安装 命令行:echo %JAVA_HOME% java -version 1.2.下载Maven 地址:http://maven.apache ...
- RocketMQ 单机安装
本章快速入门指南是在本地机器上设置 RocketMQ 消息传递系统以发送和接收消息的详细说明. 在这先对RocketMQ 做一个简单介绍. RocketMQ是一个纯java.分布式.队列模型的开源消息 ...
- Linux系统——awk命令
awk命令不仅仅是Linux系统的命令,也是一种编程语言,用来处理数据和生成报告(Exel),处理的数据可以是一个或多个文件(标准输入和管道获取标准输入).可在命令行上编辑操作,也可以写成awk程序运 ...
- 记一次服务器迁移SVN客户端更换IP
服务器迁移,SVN服务端IP由原10.58.8.231更换至10.58.1.230 TortoiseSVN更换ip地址操作如下: 打开svn项目的根目录,右键如图操作: 修改ip地址为10.58. ...
- Redis持久化及复制
一.持久化的两种方式 1.RDB: RDB是在指定时间间隔内生成数据集的时间点快照(point-in-time snapshot)持久化,它是记录一段时间内的操作,一段时间内操作超过多少次就持久化.默 ...
- maven tomcat7-maven-plugin配置及背景
背景: 在研发阶段,想让一个服务通过tomcat启动起来有很多的方法,常用的idea都有这样的支持,那么如果我们没有tomcat,能不能让服务通过tomcat启动起来呢?maven就提供了这样的支持. ...
- spark程序设计
Spark程序设计—创建RDD:从Scala集合构造成RDD parallelize(a, 3) makeRDD(a, 3) 他俩使用方式一样,只不过名字不一样 Spark程序设计—创建RDD:本地文 ...
- AVAudioSession(3):定制 Audio Session 的 Category
本文转自:AVAudioSession(3):定制 Audio Session 的 Category | www.samirchen.com 本文内容主要来源于 Working with Catego ...
- Java伙伴系统(模拟)
参考:https://labrick.cc/2015/10/12/buddy-system-algorithm/ 代码过烂 不宜参考. output: [operating.entity.Heap@4 ...
- Java硬件同步机制Swap指令模拟+记录型信号量模拟
学校实验存档//.. 以经典的生产者消费者问题作为背景. 进程同步方式接口: package method; /** * P表示通过,V表示释放 */ public interface Method ...