之前已经实现了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,iVBORw0KGgoAAAANSUhEUgAAAXkAAACiCAIAAAAr7yoyAAAOnklEQVR4nO3c/W8T5wEH8PtjJk1CmjJp0zRtQ90mtSvr1nYt6aCdeSkw+pJSoKylDJJ0W1ss9bcWTRMVNDIM7AFx4oYQWhJoiIGQF/yWECeO49hxYse+OH493/ns/WD7fHc+uyFtngu570dfifjJc3ePo9y3d+cq1IHjJ7tvDpq6biHIBk73zcHdRz7afeQj/LarFeqFV/Z+8ul/jrZ+jCAbOJ98+p8tL+3Z8tIe/LarFSqazCEIgqx1qEgyhyAIstZ5hK4Jx7np+djQuO/2g6newfHrVsd1q+PGvbHbD6aGxn1TwaVwnFP9/SAIsj5DLSZz35rgEjM84e+xOmyTgfloIpXlGJbn+DzH5xmWT2W5UDRhmwz0WB33H84Gl5iV7BNBEE2FWkzk6iQc5x64gzcGx2YXljLZHJvLZ7k8w+UzbCUMl89y+eK35hbjvYPjD9zBcJyrv2cEQTQVKpzI1cp0KH7H4Z2YCTMcn+Xyafbbk+XyGTY3MRO+4/BOh+J1do4giKZChROcYnyLiRuDY3ORGMPxaZZPZVeaNMszHD8Xid8anmi/cb+r/wGCIAgVinPV8Sws3xx2h6IJhsuvvGXEYbh8JJ62P/TEk6kCAGieQtcEIuk7dm8gvMxw+WSWX3UYLh+Oxic8s9ksq/bbBACVUQtxTpYR99zYzEKGyyezfIJRjrhT6sxhuLw3GJqdC6n9NgFAZdTCMieOZyF+1+Glk5lkjQZJMHyS4YfsD3/6xDM79h+mE0z9mbFk9qFnNpFKq/1OAUBN1PwyJ869Mf90kE5l+XhGOQmGH3G6f/7b5371u60/+82zew68l2BqTo5n+FSWnwvR07PBWitIp9Mul6u3t9disVgslt7eXpfLlU6jmwA2FEnX+COZ63fHkkwuXqM+EgxvG/f88skXnnxe17ir6Y/b9/1h2976XRNn+GSGG3ZMsCxXffhAIPDll19ardaRkZGxsbGRkRGPx9PR0WGxWPx+P/kfBwCsESq4zAlx+SJ2TzCZ5ZczCokz/INxz+anG598Yce2vQe37zu8dffb9glvnFGeLySZ5T3++Qgdkx3b7/d3d3eHw+FEIjE6OmqxWDo7OwcGBtrb2y0Wi9lsrlE3pkZqU4vzu75zZ8smqtH0/e1PSbjvVKvJtRZ7BnjcUMEYJ+SOw+cJRBMMH0vLE8/wjgnv5qcbn3px58t/PfzK/nf+vPew0+2LZxQmy5JgeP8CPeWbEx84lUp1dHREo9FcLsdxXDwe7+/vv1zW3d1ts9nMZnMqVf2R+ePQNS5T66m+MNGuKR6y/GUrSg7WF2ouxgnpG56ci8RjGX4pLclyhndNzm5+uvF3W3e98tqRnU1Hdx84ZnvoVbyKiaUVNl+gE86JafGBbTZbX18fy7Isy0aj0cuXL/9Pym63X7582WazVa15nXWNwubljiHYNeJDtp4ymXBBBeuMpGuu3xsPx9Kypoileefk7BN/2PZ046u6N97dc/D4q2///aW9B594ZtuPfvHUD3/y6x/+5IlifvDjzdv3HqiuqliajyxnRl1u8YGvXr06PDzs9/ttNltHR4exSk9Pj9frvXr1atWa133XCBVDrmtkR8LNG6w7VGCJE9I14IylOTqVEyeW5rc07t7S+OrOpqP7DjcXs+ut97ftO/TirqYXd74p5NlXXtu85c+xNC/bA53KLae5Qdu4+MAXL17s6uoym80XlHR2dno8nkgkcvHixao1i09uZ8smqqzYHPLh0qipUTYg6xpTeQtRb1S2EY1KdiQ+vDAl3HeqdDNTPOVdptaiytkf7jvV2ioblU42uSqTyrdGhdLdkXxQfEjxvlb0GwBABhVYYoV0DTjoJEunJH9Naymd+5PujZf3/23/kQ/qZ8/BE7/fvm8pLf97XHQqt5Riq7vmvIjRaDx//rzZbO7o6Dh//rzT6Uwmk/Pz8xcuXKhas9A1zpZN0tapDIuLp1AomBrLryUbC10jNIWpkRKNCjsRXihcA8mHRM9Nim1RPOnDfadK45WvqobLk12mSptIZki2E9pEdEiF7wKsB5R/iRXSc3dsLpqIpiR/4YZO5WwPZ3a8eWzvO62vv/evYva906prOrb9tXfF2brn0MHjJ+mU/G/kRFO5eTopu4fq7Ow0GAwGg+H27dsOh8Pr9V67du3u3buXLl0yGAzj4+OBQGB0dLSzs7NqzeWTu9IWknH5cIn8UqfGPVT5haxBhNnFyxqFw5aJz3vJKV/rIU55g5rtIZ4gIXoULK0adA2sP5KuuTHkng7S0aqyoFM5u9u3+8Dx/Uf+0fT+R28e/fCt9z92+xaUHgznqjePpnK+hSXZs+GhoaG2travvvqKpulYLBaLxYLBYE9PT1tbW1tbm8FgKH59//79qjU/ctc4WzYJFy7Cd1fZNZUdii6FKjOlJ/n33zUKBaI0jK6BdYeapVkh/faZkXEfncotJjhZoqmcze3bdeDE6+992HTs4x1N7z/3lzcck/5oUmGyLHQq55qcnZoJiA+cTCYNBsPZs2ftdjtdNjo6ajQaz549e+7cOZPJZDAYkslk1ZpXcg9VHna2tJjEt0OmxhVe19S6h2oRdqy0eb1HtJInxjXuoep2jXRDl6lyb1ZVK+gaWHdKXeOLZn3R7OhU+NqAjU5yoThbnUiCe/BwZtfB5tePfrj/3X8+v7Pp18++POyaXkwozxdCJ7n+IUc4spSXmpqa+vzzzy9cuLC4uBiJRCKRSCgUOnfuXFdXV3d39xdffDE1NZVXYNxKbWp2CF8Lz2bLY+Lh4qCjuXz/tLW5eRO11Vga22qU70/8orIVVZop3ZVRerBNzY5Q72ctRmdlpZLX4hdOY0vZZ70hhclOY+Ubsq9LSlOVDikm/h6Aiigfzfpo1hthvBHGHUyc+/L2PJ1aWM7OxxQSjrOj4zN7DrU2HTv5xtGP/rTjrWde2hOKs4qTi1lYzoaW0tdu3s1kGL6K2+0+c+bMlStXrFZrf3//pUuXrly50t7efubMGbfbXT1/fXMYWz67sbDRDwmwKpQvyvqi7HQ4XUzf6PR1qyMcY+bojGIWYszImHfvOx80HdPvevvEoRP6hdqT5+hMOMbcHnJNTM9yNcRiMavVajQaT58+ffr0aaPRaLVaY7FYrfnrl/1i86dfz2/0QwKsDjUTZWeirHs+UcyoJ3y+67bDE/RHkr5F5QSiqXt29+5DzcdOfuZdoGdrz/RHkmPe+Ws370SiNAMAGlbqGudMREhXv/3i1X7vPD05F50MKMcTpGfm6fpzJgPR2dCS5cbAsG1sGQC0jfJGWG+EHXT5hAzYPGcufW26+o1z0j86MbvqOCf9Xb0Dlmt9Pp8vCADaVuqar+/YxbH0DX586tylrr6B+45vBh237j1avhl0DNx3tF+79e+zF+4Pj4wBgOZReQpBEGTNo/4KEATRQtRfAYIgWoj6K0AQRAtRfwUIgmgh6q8AQRAtRP0VIAiihai/AgRBtBD1V4AgiBai/goQBNFC1F8BgiBaiPorQBBEC1F/BQiCaCHqrwBBEC1E/RUgCKKFqL8CBEG0EPVXgCCIFqL+ChAE0ULUXwGCIFqI+itAEEQLUX8FCIJoIeqvAEEQLUT9FSAIooWovwIEQbQQ9VeAIIgWov4KEATRQtRfAYIgWoj6K0AQRAtRfwUIgmgh6q8AQRAtRP0VIAiihai/AgRBtBD1V4AgiBai/goQBNFCqAKCIMjaR/0VIAiihai/AgRBtBCqUCgUCoVDAABrqdQ1nwAArKVS1/wXAGAtlbrmJgDAWip1zRgAwFoqdU0QAGAtlbpmGQBgLZW6hgEAWEulruEAANZSqWt4LWo/edKu9hoAtKLUNXlNcZxsoCiKohpOOtReCoBWlLpGg5z6hga9U+1VVJj162k1AN+3Dd81Tn0DRSmVyvrqmpqrqbl+gMdLza5x6hsoitKZC4VCoWDWUdJfeLOOEojHi1tRVGVTYURnFjZr0DuF/QvfF+1GtJfycPGU0+kaKIqidPrihNIhFI8r+c537ppa+6/8HMr7qvVzq/1+xT/L6jeAroENot51jVlX+b2XnJlmnfgs15XHpWevWSd5Qel0xd059Q2l3YobrDIqOazohVPfIJRU6d/KtrWOW8fKu6Z8RPlWZl2lGETrr/lzq/F+H3E1AI+nVXaN/OqhNIWq9V9o8WmpuH/5PhUvkBr0zup/6x63jhWf3Wbdiq6LKq/rdE2994uugQ1tVV1TqFz4y65dap3kit+rcwEj7FcyrNw19Y5bx6N0jdL+5RUkuV5D1wDIrLZrCpVxeRl8266UB4UXTn2DaOoKumaVp+l37Rpc1wA8im/pGtHlhfhhpvgsqTwfET/XKBScer1SZUj3r3DuSW63ii+cer25dtfUO279Z8MrvB6S3gBWHlCJr2xkz2tq/Nzq3zOWn1eZV7R+gMdL3c+8K09CSp/8KD0gUby1kn2ApPAoRenzKUq4KRKm66Uf35Q/iRL+FZ3TSutRPlela1pJ4dTaf2Vc+WFT5edW5/3KdoXPoWBD2vD/fw0ArAvoGgAgAV0DACSgawCABHQNAJCArgEAEtA1AEACugYASEDXAAAJ6BoAIAFdAwAkoGsAgAR0DQCQgK4BABLQNQBAAroGAEhA1wAACegaACABXQMAJKBrAIAEdA0AkICuAQAS0DUAQAK6BgBIQNcAAAnoGgAgAV0DACSgawCABHQNAJCArgEAEtA1AEACugYASEDXAAAJ6BoAIAFdAwAkoGsAgAR0DQCQgK4BABLQNQBAAroGAEhA1wAACegaACABXQMAJKBrAIAEdA0AkICuAQAS0DUAQAK6BgBIQNcAAAnoGgAgAV0DACSgawCABHQNAJCArgEAEtA1AEACugYASEDXAAAJ6BoAIAFdAwAkoGsAgAR0DQCQgK4BABLQNQBAAroGAEhA1wAACegaACABXQMAJKBrAIAEdA0AkICuAQAS0DUAQAK6BgBIQNcAAAnoGgAg4f8LNCGP8TvxrAAAAABJRU5ErkJggg==" alt="" />

spring mvc表单的展现、输入处理、校验的实现的更多相关文章

  1. 使用Spring MVC表单标(转)

    概述     在低版本的Spring中,你必须通过JSTL或<spring:bind>将表单对象绑定到HTML表单页面中,对于习惯了Struts表单标签的开发者来说,Spring MVC的 ...

  2. Spring MVC - 表单处理示例

    环境搭建 环境: Intellij IDEA Spring MVC 完整的项目文件结构如下所示: Student.java package com.ktao.controller; public cl ...

  3. Spring MVC表单处理

    以下示例演示如何编写一个简单的基于Web的应用程序,它使用Spring Web MVC框架使用HTML表单. 首先使用Eclipse IDE,并按照以下步骤使用Spring Web Framework ...

  4. Spring MVC表单标签

    从Spring 2.0开始,Spring MVC开始全面支持表单标签,通过Spring MVC表单标签,我们可以很容易地将控制器相关的表单对象绑定到HTML表单元素中. form标签     和使用任 ...

  5. Spring MVC表单提交

    实际应用中,列表中的单条记录的修改,可能需要传很多对象参数到后台服务器,Spring MVC表单标签<form:> 提供了一种简洁的提交方式. <form id="form ...

  6. [Spring MVC] - 表单提交

    Spring MVC自带的表单标签比较简单,很多时候需要借助EL和JSTL来完成. 下面是一个比较简单的表单提交页面功能: 1.User model package com.my.controller ...

  7. Spring MVC 表单校验 (七)

    完整的项目案例: springmvc.zip 目录 实例 除了依赖spring-webmvc还需要依赖jackson-databind(用于转换json数据格式)和hibernate-validato ...

  8. Spring MVC表单防重复提交

    利用Spring MVC的过滤器及token传递验证来实现表单防重复提交. 创建注解 @Target(ElementType.METHOD) @Retention(RetentionPolicy.RU ...

  9. spring mvc表单form值自动传到javabean-注解@ModelAttribute

    直接通过Form Bean进行表单可以简化表单提交的处理,特别是对于复杂表单,过于简单的表单就不建议了,因为毕竟需要额外创建一个Form Bean.前段时间项目中有一个比较复杂的表单,有多层次而且涉及 ...

随机推荐

  1. percpu之静态变量

    参考:Linux内核同步机制之(二):Per-CPU变量 CPU私有变量(per-CPU变量) 动态PCPU变量 setup_per_cpu_areas()初始化per-cpu数据. static v ...

  2. LeetCode (160) Intersection of Two Linked Lists

    题目 Write a program to find the node at which the intersection of two singly linked lists begins. For ...

  3. CentOS7搭建DNS服务器

    DNS是域名系统(Domain Name System)的缩写,它的作用是将主机名解析成IP(正向解析),从IP地址查询其主机名(反向解析). DNS的工作原理(1)客户机发出查询请求当被询问到有关本 ...

  4. POJ1719二分匹配

    第一次发文,就是一些学习的心得而已,自己忘得时候就可以来看看,好了废话不多说,直接说说这题的思路. 题意大概是每列只能射中一个白格子,每行可以射多个,让你输出这样的序列,明显的二分图求匹配,用列去选行 ...

  5. 打造一款属于自己的web服务器——从简单开始

    距离开篇已经过了很久,期间完善了一下之前的版本,目前已经能够完好运行,基本上该有的功能都有了,此外将原来的测试程序改为示例项目,新项目只需按照示例项目结构实现controller和view即可,详情见 ...

  6. Python虚拟机框架

    Python字节码 我们知道,Python源代码在执行前,会先将源代码编译为字节码序列,Python虚拟机就根据这些字节码进行一系列的操作,从而完成对Python程序的执行.在Python2.5中,一 ...

  7. fiddler 抓包数据不会自动下拉解决方法

    选中 view 里面的 AutoScroll Session List 即可

  8. DataContext.ExecuteQuery的两种方法调用

    ExecuteQuery主要用于DataContext类直接执行SQL语句的查询,在MSDN上有两种执行方法,下面为两种方法的不同调用: 1.ExecuteQuery<TResult>(S ...

  9. Web网站性能测试分析及调优实例

    1 背景   前段时间,性能测试团队经历了一个规模较大的门户网站的性能优化工作,该网站的开发和合作涉及多个组织和部门,而且网站的重要性不言而喻,同时上线时间非常紧迫,关注度也很高,所以对于整个团队的压 ...

  10. day03_01 Python历史、32bit和64bit系统的区别

    先看一下讲师的笔记,有python介绍 在python2.6版本之后,想清理一些东西,追求简单明了,就直接升级到了python3.0 但是python3.0导致很多企业都不更新,因为有很多企业的网站代 ...