spring-mvc整合freemarker并在ftl模版中显示服务端校验的错误信息,JSR303或者JSR349
写法有多种,应该可以任意组合,最重要的是要引入spring.ftl
1.Bean里面的就不再多写了,来个简单就可以了
@NotEmpty(message="用户密码码不可为空") 或者写在get方法上
private String userPassword;
2.Controller里面的写法有几种,看个人习惯
(1).先看第一种这个是返回String的,参数中有@ModelAttribute("user"),在页面中会用到,稍后再说
@RequestMapping(value="login",method=RequestMethod.POST)
public String login(@ModelAttribute("user") @Valid User user, BindingResult br){
if(br.hasErrors()){
return "login";
}else{
return "redirect:index.jsp";
}
}
(2).第二种,这种同样返回String,但是参数有变化,
public String login(@Valid User user, BindingResult br, ModelMap model){
if(br.hasErrors()){
model.addAttribute("user", user);
return "login";
}else{
return "redirect:index.jsp";
}
}
(3)第三种,返回值的变化,同样可以改变参数
public ModelAndView login(@ModelAttribute("user") @Valid User user, BindingResult br){
if(br.hasErrors()){
return new ModelAndView("login");
}else{
return new ModelAndView("redirect:index.jsp");
}
}
........................看到这,你可能已经看出来其实也没什么,就是使用不同的类型来存放user
3.再看模版中的写法,有两种
(1).一个是bind的方式,这个就是遍历了
<@spring.bind "user.userCode" />
<li><input type="text" name="userCode" value="${spring.status.value?default("")}" /></li>
<#list spring.status.errorMessages as error> <b>${error}</b> <br> </#list>
(2).第二个是输出标签,少写一部分东西
<@spring.formInput "user.userCode" />
<@spring.showErrors "" />
最后。。。。就是你随意组合吧,都可以正常显示结果
刚开始用spring,花了三个多小时才让这个显示出来,就是有个地方没有注意,刚开始进这个页面的时候,user是空的,所以页面会报错,在POST方法中怎么添加user都出错,竟然一直没有注意,真实悲催啊,后来发现之后就很顺畅了,几分钟全部可以测试出来。
可以来个简单的写法,这样就不会出错了,也可以在get方式进这个页面的时候在Model中new一个空的user,完全看个人习惯。
@ModelAttribute("user")
public User getUser() {
return new User();
}
spring-mvc整合freemarker并在ftl模版中显示服务端校验的错误信息,JSR303或者JSR349的更多相关文章
- 【转载】Spring MVC 整合 Freemarker
前言 1.为什么要使用Spring MVC呢? 2.为什么要使用Freemarker呢? 3.为什么不使用Struts2呢? 此示例出现的原因就是发现了struts2的性能太差,所以学习Spring ...
- Spring MVC整合 freemarker
1.什么是Spring MVC? Spring MVC是一种基于Java的实现了Web MVC设计模式的请求驱动类型的轻量级Web框架,即使用了MVC架构模式的思想,将Web层进行职责解耦,基于请求驱 ...
- Spring mvc整合freemarker详解
1.什么是FreeMarker FreeMarker是一个模板引擎,一个基于模板生成文本输出的通用工具,使用纯Java编写 FreeMarker被设计用来生成HTML Web页面,特别是基于MVC模式 ...
- Spring MVC整合FreeMarker
什么是Freemarker? FreeMarker是一个用Java语言编写的模板引擎,它基于模板来生成文本输出.FreeMarker与Web容器无关,即在Web运行时,它并不知道Servlet或 ...
- springboot学习笔记:5.spring mvc(含FreeMarker+layui整合)
Spring Web MVC框架(通常简称为"Spring MVC")是一个富"模型,视图,控制器"的web框架. Spring MVC允许你创建特定的@Con ...
- 【FreeMarker】Spring MVC与FreeMarker整合(二)
前一篇介绍了FreeMarker的基本使用,本例介绍Spring MVC与FreeMarker整合 不熟悉项目搭建,可参考 [FreeMarker]FreeMarker快速入门(一) 整合 1.新建S ...
- Spring Boot 整合 Freemarker,50 多行配置是怎么省略掉的?
Spring Boot2 系列教程接近完工,最近进入修修补补阶段.Freemarker 整合貌似还没和大家聊过,因此今天把这个补充上. 已经完工的 Spring Boot2 教程,大家可以参考这里: ...
- Spring Boot2 系列教程(十)Spring Boot 整合 Freemarker
今天来聊聊 Spring Boot 整合 Freemarker. Freemarker 简介 这是一个相当老牌的开源的免费的模版引擎.通过 Freemarker 模版,我们可以将数据渲染成 HTML ...
- Spring Boot 整合 Freemarker
Spring Boot 整合 Freemarker 1.Freemarker 简介 2.Spring Boot 整合 Freemarker 2.1 创建工程 2.2 创建类 2.3 其他配置 原文地址 ...
随机推荐
- MVC ActionResult -- JavaScriptResult,JsonResult
以下是ActionResult的继承图: 大概的分类: EmptyResult:表示不执行任何操作的结果 ContentResult :返回文本结果 JavaScriptResult:返回结果为Jav ...
- YUV采样及存储格式
YUV,分为三个分量,“Y”表示明亮度(Luminance或Luma),也就是灰度值:而“U”和“V” 表示的则是色度(Chrominance或Chroma),作用是描述影像色彩及饱和度,用于指定像素 ...
- Matlab编程实例(3) 函数向左或向右平移N点 左移右移
%函数移动 close all; clear all; dir=input('请输入平移方向,“1”为向左,“2”为向右'); if dir~=1&&dir~=2;%输入控制 e ...
- iOS 怎么样给自己的app打分呢?
NSString *str = [NSString stringWithFormat:@"itms-apps://itunes.apple.com/app/id%@",@&quo ...
- 基本输入输出系统BIOS---键盘输入
基本输入输出系统BIOS概述 硬盘操作系统DOS建立在BIOS的基础上,通过BIOS操纵硬件,例如DOS调用BIOS显示I/O程序完成输入显示,调用打印I/O完成打印输出 通常应用程序应该调用DOS提 ...
- 第2课 讲解主流三大web服务器之Apache服务器(httpd服务器) - 大型网站高并发架构与自动化运维实战(六)
基本配置 配置固定IP地址 打开默认的网卡配置文件 cd /etc/sysconfig/network-script/ cp ifcfg-eth0 ifcfg-eth1 vim ifcfg-eth0 ...
- Oracle数据库管理之创建和删除数据库
转自:http://supportopensource.iteye.com/blog/678898 一.数据库管理概述 在完成Oracle软件安装后,DBA就应该对组织和管理数据库负责任,其主要任务是 ...
- Python之正则
从学习Python至今,发现很多时候是将Python作为一种工具.特别在文本处理方面,使用起来更是游刃有余. 说到文本处理,那么正则表达式必然是一个绝好的工具,它能将一些繁杂的字符搜索或者替换以非常简 ...
- 二分+叉积判断方向 poj 2318 2398
// 题意:问你每个区域有多少个点 // 思路:数据小可以直接暴力 // 也可以二分区间 #include <cstdio> #include <cstring> #inclu ...
- 现代程序设计 homework-09
现代程序设计 homework-09 这次作业是要求将homework-02做成一个可演示的应用,目的是为了让用户看到程序的计算步骤以及中间结果. 借此机会也学了一下JavaScript,感觉总结的地 ...