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>

  

原文地址:https://www.cnblogs.com/achengmu/p/9036424.html

时间: 2024-10-07 16:00:05

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

Spring MVC Hibernate验证器

下面的示例演示如何使用Spring Web MVC框架在表单中使用错误处理和验证器. 首先使用Eclipse IDE,并按照以下步骤使用Spring Web Framework开发基于动态表单的Web应用程序: 创建一个名称为 HibernateValidator 的动态WEB项目. 在 com.yiibai.springmvc 包下创建三个Java类:Student和StudentController . 在jsp子文件夹下创建两个视图文件:addStudent.jsp, result.jsp

Spring MVC + Hibernate + Maven: Crud操作示例

Alexey是一个在使用Java,TestNG 和Selenium的自动化WEB应用程序中有丰富经验的测试开发者.他如此的喜欢QA以至于在下班后他为初级QA工程师提供培训课程. 在这篇文章中我想介绍一个Spring MVC + Hibernate + Maven例子.这组技术主要涉及一些基础知识,我想在每一个必要的地方详细解释它.本篇话题范围以外的更多资源,我会提供链接方便你阅读.在文章的最后,我将发布一个GitHub的链接. 目标 示例web应用程序是基于Spring MVC, Hiberna

spring mvc+hibernate的基本配置

<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:p="http://www.springframework.org/schema/p&

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

先看看我遇到的问题: @ResponseBody @RequestMapping("/logout") public Json logout(HttpSession session,HttpServletRequest request,HttpServletResponse response) { Json j = new Json(); if (session != null) { // session.invalidate(); session.removeAttribute(&q

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

在自己从事的项目中都是使用xml配置的方式来进行的,随着项目的越来越大,会发现配置文件会相当的庞大,这个不利于项目的进行和后期的维护.于是考虑使用注解的方式来进行项目的开发,前些日子就抽空学习了一下.在网上也查询了很多使用注解来搭建开发框架的文章,但是有一个问题就是,使用更新的软件版本会出错.这里我将使用最新的Spring,Hibernate来进行框架的搭建,经过测试,顺利运行.分享旨在与大家一起分享学习,共同进步,有不足之处,望不吝赐教,谢谢! 本项目使用maven构建,采用Spring +

[转载] Spring MVC - 处理器拦截器

5.1.处理器拦截器简介 Spring Web MVC的处理器拦截器(如无特殊说明,下文所说的拦截器即处理器拦截器)类似于Servlet开发中的过滤器Filter,用于对处理器进行预处理和后处理.   5.1.1.常见应用场景 1.日志记录:记录请求信息的日志,以便进行信息监控.信息统计.计算PV(Page View)等. 2.权限检查:如登录检测,进入处理器检测检测是否登录,如果没有直接返回到登录页面: 3.性能监控:有时候系统在某段时间莫名其妙的慢,可以通过拦截器在进入处理器之前记录开始时间

搭建基于全注解的Spring+Spring MVC+Hibernate框架

以实例讲解Spring+Spring MVC+Hibernate框架搭建步骤: 一.配置web.xml Xml代码   <?xml version="1.0" encoding="UTF-8"?> <web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XML

Spring + Spring MVC + Hibernate

Spring + Spring MVC + Hibernate项目开发集成(注解) Posted on 2015-05-09 11:58 沐浴未来的我和你 阅读(307) 评论(0) 编辑 收藏 在自己从事的项目中都是使用xml配置的方式来进行的,随着项目的越来越大,会发现配置文件会相当的庞大,这个不利于项目的进行和后期的维护.于是考虑使用注解的方式来进行项目的开发,前些日子就抽空学习了一下.在网上也查询了很多使用注解来搭建开发框架的文章,但是有一个问题就是,使用更新的软件版本会出错.这里我将使

Spring+Spring MVC+Hibernate增查(使用注解)

使用Spring+Spring MVC+Hibernate做增删改查开发效率真的很高.使用Hibernate简化了JDBC连接数据库的的重复性代码.下面根据自己做的一个简单的增加和查询,把一些难点分析出来: 首先项目目录结构:(Hibernate持久化数据连接信息交给Spring进行管理:别忘了加入Hibernate和Spring相关的架包.jar) 第一步:弄个用户实体类(配置Users.hbm.xml映射文件): 1 package com.ssh.SpringMVC.enity; 2 3