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不为空注解

例如:

  1. import org.hibernate.validator.constraints.NotEmpty;
  2. import org.hibernate.validator.constraints.Range;
  3.  
  4. public class Student {
  5.  
  6. @NotEmpty
  7. private String name;
  8.  
  9. @Range(min=10, max=99)
  10. private Integer age;
  11.  
  12. private Integer id;
  13.  
  14. }

  

配置文件:web.xml,applicationContext,springtest-servlet.xml

web.xml

  1. <web-app>
  2. <display-name>Archetype Created Web Application</display-name>
  3.  
  4. <!--配置文件路径-->
  5. <context-param>
  6. <param-name>contextConfigLocation</param-name>
  7. <param-value>/WEB-INF/applicationContext.xml</param-value>
  8. </context-param>
  9.  
  10. <!-- 字符过滤器 -->
  11. <filter>
  12. <filter-name>encodingFilter</filter-name>
  13. <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
  14. <init-param>
  15. <param-name>encoding</param-name>
  16. <param-value>UTF-8</param-value>
  17. </init-param>
  18. </filter>
  19. <filter-mapping>
  20. <filter-name>encodingFilter</filter-name>
  21. <url-pattern>/*</url-pattern>
  22. </filter-mapping>
  23.  
  24. <!-- 监听转发 -->
  25. <listener>
  26. <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
  27. </listener>
  28. <servlet>
  29. <servlet-name>springtest</servlet-name>
  30. <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
  31. <load-on-startup>1</load-on-startup>
  32. </servlet>
  33. <servlet-mapping>
  34. <servlet-name>springtest</servlet-name>
  35. <url-pattern>/</url-pattern>
  36. </servlet-mapping>
  37.  
  38. </web-app>

  

springtest-servlet.xml

  1. <beans
  2. xmlns="http://www.springframework.org/schema/beans"
  3. xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  4. xmlns:mvc="http://www.springframework.org/schema/mvc"
  5. xmlns:context="http://www.springframework.org/schema/context"
  6. xsi:schemaLocation="http://www.springframework.org/schema/beans
  7. http://www.springframework.org/schema/beans/spring-beans.xsd
  8. http://www.springframework.org/schema/mvc
  9. http://www.springframework.org/schema/mvc/spring-mvc.xsd
  10. http://www.springframework.org/schema/context
  11. http://www.springframework.org/schema/context/spring-context.xsd">
  12.  
  13. <bean class="org.springframework.context.support.ResourceBundleMessageSource" id="messageSource">
  14. <property name="basename" value="messages"/>
  15. </bean>
  16. <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
  17. <property name="prefix" value="/WEB-INF/jsp/" />
  18. <property name="suffix" value=".jsp" />
  19. </bean>
  20.  
  21. </beans>

  

applicationContext.xml

  1. <beans
  2. xmlns="http://www.springframework.org/schema/beans"
  3. xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  4. xmlns:mvc="http://www.springframework.org/schema/mvc"
  5. xmlns:context="http://www.springframework.org/schema/context"
  6. xsi:schemaLocation="http://www.springframework.org/schema/beans
  7. http://www.springframework.org/schema/beans/spring-beans.xsd
  8. http://www.springframework.org/schema/mvc
  9. http://www.springframework.org/schema/mvc/spring-mvc.xsd
  10. http://www.springframework.org/schema/context
  11. http://www.springframework.org/schema/context/spring-context.xsd">
  12.  
  13. <!-- 默认:注解映射支持 -->
  14. <mvc:annotation-driven/>
  15. <!-- 静态资源配置 -->
  16. <mvc:resources location="/pages/**" mapping="/pages/"/>
  17.  
  18. <!-- 自动扫描包名,controller -->
  19. <context:component-scan base-package="springtest"/>
  20.  
  21. </beans>

  

Student.java

  1. package springtest;
  2.  
  3. import org.hibernate.validator.constraints.NotEmpty;
  4. import org.hibernate.validator.constraints.Range;
  5.  
  6. public class Student {
  7.  
  8. @NotEmpty
  9. private String name;
  10.  
  11. @Range(min=10, max=99)
  12. private Integer age;
  13.  
  14. private Integer id;
  15.  
  16. public String getName() {
  17. return name;
  18. }
  19.  
  20. public void setName(String name) {
  21. this.name = name;
  22. }
  23.  
  24. public Integer getAge() {
  25. return age;
  26. }
  27.  
  28. public void setAge(Integer age) {
  29. this.age = age;
  30. }
  31.  
  32. public Integer getId() {
  33. return id;
  34. }
  35.  
  36. public void setId(Integer id) {
  37. this.id = id;
  38. }
  39.  
  40. }

  

StudentController.java

  1. package springtest;
  2.  
  3. import org.springframework.stereotype.Controller;
  4. import org.springframework.ui.Model;
  5. import org.springframework.web.bind.annotation.ModelAttribute;
  6. import org.springframework.web.bind.annotation.RequestMapping;
  7. import org.springframework.web.bind.annotation.RequestMethod;
  8. import org.springframework.web.servlet.ModelAndView;
  9.  
  10. import org.springframework.validation.annotation.Validated;
  11. import org.springframework.validation.BindingResult;
  12.  
  13. @Controller
  14. public class StudentController {
  15.  
  16. @RequestMapping(value="/student/index", method=RequestMethod.GET)
  17. public ModelAndView student()
  18. {
  19. return new ModelAndView("student_index2", "command", new Student());
  20. }
  21.  
  22. @ModelAttribute("student")
  23. public Student createStudent()
  24. {
  25. return new Student();
  26. }
  27.  
  28. @RequestMapping(value="/student/addStudent", method=RequestMethod.POST)
  29. public String addStudent(@ModelAttribute("student") @Validated Student student,
  30. BindingResult result, Model model)
  31. {
  32. if(result.hasErrors())
  33. {
  34. return "student_index2";
  35. }
  36. model.addAttribute("name", student.getName());
  37. model.addAttribute("age", student.getAge());
  38. model.addAttribute("id", student.getId());
  39. return "student_result2";
  40. }
  41.  
  42. }

  

student_index.jsp

  1. <%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8"%>
  2. <%@ taglib uri="http://www.springframework.org/tags/form" prefix="form" %>
  3. <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
  4. <html>
  5. <head>
  6. <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
  7. <title>student index</title>
  8. </head>
  9. <style>
  10. .error {
  11. color: #ff0000;
  12. }
  13.  
  14. .errorblock {
  15. color: #000;
  16. background-color: #ffEEEE;
  17. border: 3px solid #ff0000;
  18. padding: 8px;
  19. margin: 16px;
  20. }
  21. </style>
  22. <body>
  23.  
  24. <h2>学生信息</h2>
  25. <form:form method="post" action="/gugua3/student/addStudent" commandName="student">
  26. <form:errors path="*" cssClass="errorblock" element="div" />
  27. <table>
  28. <tr>
  29. <td><form:label path="name">姓名</form:label></td>
  30. <td><form:input path="name"/></td>
  31. <td><form:errors path="name" cssClass="error"/></td>
  32. </tr>
  33. <tr>
  34. <td><form:label path="age">年龄</form:label></td>
  35. <td><form:input path="age"/></td>
  36. <td><form:errors path="age" cssClass="error"/></td>
  37. </tr>
  38. <tr>
  39. <td><form:label path="id">编号</form:label></td>
  40. <td colspan="2"><form:input path="id"/></td>
  41. </tr>
  42. <tr>
  43. <td colspan="3">
  44. <input type="submit" vlaue="提交"/>
  45. </td>
  46. </tr>
  47. </table>
  48. </form:form>
  49.  
  50. </body>
  51. </html>

  

student_result.jsp

  1. <%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8"%>
  2. <%@ page isELIgnored="false" %>
  3. <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
  4. <html>
  5. <head>
  6. <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
  7. <title>student result</title>
  8. </head>
  9. <body>
  10.  
  11. <table>
  12. <tr>
  13. <td>姓名</td>
  14. <td>${name}</td>
  15. </tr>
  16. <tr>
  17. <td>年龄</td>
  18. <td>${age}</td>
  19. </tr>
  20. <tr>
  21. <td>编号</td>
  22. <td>${id}</td>
  23. </tr>
  24. </table>
  25.  
  26. </body>
  27. </html>

  

spring mvc: Hibernate验证器(字段不能为空,在1-150自己)的更多相关文章

  1. Spring MVC Hibernate验证器

    下面的示例演示如何使用Spring Web MVC框架在表单中使用错误处理和验证器. 首先使用Eclipse IDE,并按照以下步骤使用Spring Web Framework开发基于动态表单的Web ...

  2. Hibernate Validation,Spring mvc 数据验证框架注解

    1.@NotNull:不能为 Null,但是可以为Empty:用在基本数据类型上. @NotNull(message="{state.notnull.valid}", groups ...

  3. Spring MVC第一课:用IDEA构建一个基于Spring MVC, Hibernate, My SQL的Maven项目

    作为一个Spring MVC新手最基本的功夫就是学会如何使用开发工具创建一个完整的Spring MVC项目,本文站在一个新手的角度讲述如何一步一步创建一个基于Spring MVC, Hibernate ...

  4. Java Web 学习(6) —— Spring MVC 之校验器

    Spring MVC 之校验器 数据验证 一个典型的 Spring MVC 应用会同时应用到 formatters/converters 和 validators. 在调用 controller 期间 ...

  5. Java 本地开发环境搭建(框架采用 Spring+Spring MVC+Hibernate+Jsp+Gradle+tomcat+mysql5.6)

    项目搭建采用技术栈为:Spring+Spring MVC+Hibernate+Jsp+Gradle+tomcat+mysql5.6 搭建环境文档目录结构说明: 使用Intellj Idea 搭建项目过 ...

  6. spring mvc +cookie+拦截器功能 实现系统自动登陆

    先看看我遇到的问题: @ResponseBody @RequestMapping("/logout") public Json logout(HttpSession session ...

  7. Spring + Spring MVC + Hibernate

    Spring + Spring MVC + Hibernate项目开发集成(注解) Posted on 2015-05-09 11:58 沐浴未来的我和你 阅读(307) 评论(0) 编辑 收藏 在自 ...

  8. Spring + Spring MVC + Hibernate项目开发集成(注解)

    在自己从事的项目中都是使用xml配置的方式来进行的,随着项目的越来越大,会发现配置文件会相当的庞大,这个不利于项目的进行和后期的维护.于是考虑使用注解的方式来进行项目的开发,前些日子就抽空学习了一下. ...

  9. Hibernate验证器

    第 4 章 Hibernate验证器  http://hibernate.org/validator/documentation/getting-started/#applying-constrain ...

随机推荐

  1. 004-Maven的安装与配置

    1.在Windows上安装Maven 1.1.检查jdk安装 命令行:echo %JAVA_HOME% java -version 1.2.下载Maven 地址:http://maven.apache ...

  2. RocketMQ 单机安装

    本章快速入门指南是在本地机器上设置 RocketMQ 消息传递系统以发送和接收消息的详细说明. 在这先对RocketMQ 做一个简单介绍. RocketMQ是一个纯java.分布式.队列模型的开源消息 ...

  3. Linux系统——awk命令

    awk命令不仅仅是Linux系统的命令,也是一种编程语言,用来处理数据和生成报告(Exel),处理的数据可以是一个或多个文件(标准输入和管道获取标准输入).可在命令行上编辑操作,也可以写成awk程序运 ...

  4. 记一次服务器迁移SVN客户端更换IP

    服务器迁移,SVN服务端IP由原10.58.8.231更换至10.58.1.230   TortoiseSVN更换ip地址操作如下: 打开svn项目的根目录,右键如图操作: 修改ip地址为10.58. ...

  5. Redis持久化及复制

    一.持久化的两种方式 1.RDB: RDB是在指定时间间隔内生成数据集的时间点快照(point-in-time snapshot)持久化,它是记录一段时间内的操作,一段时间内操作超过多少次就持久化.默 ...

  6. maven tomcat7-maven-plugin配置及背景

    背景: 在研发阶段,想让一个服务通过tomcat启动起来有很多的方法,常用的idea都有这样的支持,那么如果我们没有tomcat,能不能让服务通过tomcat启动起来呢?maven就提供了这样的支持. ...

  7. spark程序设计

    Spark程序设计—创建RDD:从Scala集合构造成RDD parallelize(a, 3) makeRDD(a, 3) 他俩使用方式一样,只不过名字不一样 Spark程序设计—创建RDD:本地文 ...

  8. AVAudioSession(3):定制 Audio Session 的 Category

    本文转自:AVAudioSession(3):定制 Audio Session 的 Category | www.samirchen.com 本文内容主要来源于 Working with Catego ...

  9. Java伙伴系统(模拟)

    参考:https://labrick.cc/2015/10/12/buddy-system-algorithm/ 代码过烂 不宜参考. output: [operating.entity.Heap@4 ...

  10. Java硬件同步机制Swap指令模拟+记录型信号量模拟

    学校实验存档//.. 以经典的生产者消费者问题作为背景. 进程同步方式接口: package method; /** * P表示通过,V表示释放 */ public interface Method ...