之前已经实现了spring mvc的入门例子及如何处理带参数的请求Controller编写。本文主要记录:
1)重定向请求
2)处理路径中含有变量的请求
3)使用JSR-303进行校验
① 首先,编写一个方法实现一个表单的展现:
//展示表单
//params 可限制该方法只对包含特定参数的请求进行处理
@RequestMapping(method=RequestMethod.GET,params="new")
public String createForm(Model model){
model.addAttribute("user", new User());
return "/user/edit";
}
注意到,params="new",这意味着该方法处理的请求Url:xxx/home?new (home是定义Controller的请求路径)
这是跳转的页面定义(使用了velocity模板):
<form method="post">
<div>
<label for="userName">userName:</label>
<input name="userName" value="$!user.userName">
<span>$!br.getFieldError("userName").getDefaultMessage()</span>
</div>
<div>
<label for="email">Email:</label>
<input name="email" value="$!user.email">
</div>
<div>
<label for="age">age:</label>
<input name="age" value="$!user.age">
</div>
<button type="submit">Submit</button>
</form>
② 然后,在页面上填入值,点击提交,如果不指定form的提交路径,则默认是xx/home(Controller的请求路径),此时需要编写处理表单的输入方法:
//处理表单输入
@RequestMapping(method=RequestMethod.POST)
//@Valid是对user参数的验证
public String addForm(@Valid User user,BindingResult br,Model model){
if(br.hasErrors()){
model.addAttribute("br",br);
return "/user/edit";
}
userService.saveUser(user);
return "redirect:/home/"+user.getUserName();
}
a.在输入参数中,对User使用了@Valid,表示在user传入之前会进行校验,这是使用了JSR-303的校验规则,如何定义校验规则呢?在后面④-->>
b.在方法处理上, 如果校验失败,则会将BindingResult传入到方法中,通过br.hasErrors进行判断是否校验成功,如果失败,将br放在model中,以便在edit.vm页面中显示,这就是在页面edit.vm中,有<span>$!br.getFieldError("userName").getDefaultMessage()</span>(页面只写了这一处)
c.通过重定向到请求:/home/user.getUserName.路径中含有变量,因此需要定义处理请求路径变量的方法。
③ 定义处理请求路径变量的方法
//处理带有路径变量的请求
@RequestMapping(value="/{username}",method=RequestMethod.GET)
public String showUser(@PathVariable String username,Model model){
model.addAttribute("username", username);
return "home";
}
在@RequestMapping中,value使用了占位符{username},在参数String username使用了@PathVariable,表示的是路径的变量,说明该方法处理的请求为:xx/home/somebodyName,如请求的url为xxx/home/hahaha,则方法中的username为hahaha
④ 使用JSR-303进行校验
之前使用了@Valid User user,校验的是user对象,因此需要对User进行编写校验规则。使用的是JSR-303,在使用前,需要引入相关的jar包,如果是maven工程,需要定义maven坐标:
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-validator</artifactId>
<version>4.2.0.Final</version>
<!-- <optional>true</optional> -->
</dependency>
OK,看下User的校验规则
public class User {
@Range(min=1,max=10,message="userName must be between 1 and 10 character long")
@Pattern(regexp="^[a-zA-z0-9]+$",message="userName Invalid")
private String userName;
private String email;
private int age;
//setter and getter...
}
运行工程,记录下效果:
1、请求展示表单的路径,输入过长的Username后提交:
aaarticlea/png;base64,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" alt="" />
2、输入特殊字符的Username后提交:
aaarticlea/png;base64,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" alt="" />
4、输入正常的Username后提交(没传count,因此没有值):
aaarticlea/png;base64,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" alt="" />
- 使用Spring MVC表单标(转)
概述 在低版本的Spring中,你必须通过JSTL或<spring:bind>将表单对象绑定到HTML表单页面中,对于习惯了Struts表单标签的开发者来说,Spring MVC的 ...
- Spring MVC - 表单处理示例
环境搭建 环境: Intellij IDEA Spring MVC 完整的项目文件结构如下所示: Student.java package com.ktao.controller; public cl ...
- Spring MVC表单处理
以下示例演示如何编写一个简单的基于Web的应用程序,它使用Spring Web MVC框架使用HTML表单. 首先使用Eclipse IDE,并按照以下步骤使用Spring Web Framework ...
- Spring MVC表单标签
从Spring 2.0开始,Spring MVC开始全面支持表单标签,通过Spring MVC表单标签,我们可以很容易地将控制器相关的表单对象绑定到HTML表单元素中. form标签 和使用任 ...
- Spring MVC表单提交
实际应用中,列表中的单条记录的修改,可能需要传很多对象参数到后台服务器,Spring MVC表单标签<form:> 提供了一种简洁的提交方式. <form id="form ...
- [Spring MVC] - 表单提交
Spring MVC自带的表单标签比较简单,很多时候需要借助EL和JSTL来完成. 下面是一个比较简单的表单提交页面功能: 1.User model package com.my.controller ...
- Spring MVC 表单校验 (七)
完整的项目案例: springmvc.zip 目录 实例 除了依赖spring-webmvc还需要依赖jackson-databind(用于转换json数据格式)和hibernate-validato ...
- Spring MVC表单防重复提交
利用Spring MVC的过滤器及token传递验证来实现表单防重复提交. 创建注解 @Target(ElementType.METHOD) @Retention(RetentionPolicy.RU ...
- spring mvc表单form值自动传到javabean-注解@ModelAttribute
直接通过Form Bean进行表单可以简化表单提交的处理,特别是对于复杂表单,过于简单的表单就不建议了,因为毕竟需要额外创建一个Form Bean.前段时间项目中有一个比较复杂的表单,有多层次而且涉及 ...
随机推荐
- Python学习笔记:py2exe打包Python程序
使用py2exe将一个Python程序打包成一个exe程序,这样Python程序也可以在没有安装Python的环境中运行Python程序了.使用这个工具需要写一个用于打包的setup.py文件(名称可 ...
- zoj 4056
At 0 second, the LED light is initially off. After BaoBao presses the button 2 times, the LED light ...
- c++,友元类和友元函数
都是声明时友元的东西可以访问自己类的私有和保护成员 类的友元 友元是C++提供的一种破坏数据封装和数据隐藏的机制. 通过将一个模块声明为另一个模块的友元,一个模块能够引用到另一个模块中本是被隐藏的信息 ...
- 针对NM_CUSTOMDRAW消息的学习
消息的形式:1 窗口消息,2 命令消息,3 WM_NOTIFY消息,4 自定义消息 我们的NM_CUSTOMDRAW消息就是就属于第三种WM_NOTIFY消息,而添加消息映射的方法分为两种: BEGI ...
- UOJ 152 汉诺塔 分治
题目链接 题意: 有三根编号为\((1, \, 2, \, 3)\)的柱子,然后第一根柱子上有编号为\(1 \sim n(n \leq 10000)\)的盘子,从上到下第\(i\)个盘子的编号是\(A ...
- hdu3613 Best Reward
先manacher.然后前缀和价值,枚举切点,O(1)判断切后是否回文 #include <iostream> #include <cstring> #include < ...
- python week08 并发编程之多线程--理论部分
一. 什么是线程 1.定义 线程就像一条工厂车间里的流水线,一个车间里可以用很多流水线,来执行生产每个零部件的任务. 所以车间可以看作是进程,流水线可以看作是线程.(进程是资源单位,线程是执行单位) ...
- day03_03 第一个Python程序
Python的安装 之前安装了python2.7.11,接下来的课程因为是python3的,需要再安装一个python3版本...... 1.进入python.org进行选择安装 2.或者选择课件里的 ...
- JAVA-两种后台页面跳转方式
1.请求转发 RequestDispatcher rd = request.getRequestDispatcher("url"); rd.forward(request, res ...
- 【bzoj1307】玩具 单调栈
题目描述 小球球是个可爱的孩子,他喜欢玩具,另外小球球有个大大的柜子,里面放满了玩具,由于柜子太高了,每天小球球都会让妈妈从柜子上拿一些玩具放在地板上让小球球玩. 这天,小球球把所有的N辆玩具摆成一排 ...