开发笔记
来源:互联网 发布:糊是什么意思网络语言 编辑:程序博客网 时间:2024/05/19 18:18
1.使fmt:formatDate
应用于<form:input>
<fmt:formatDate value="${queryDTO.sdate}" type="date" pattern="yyyy-MM-dd" var="theFormattedSdate" /><form:input path="sdate" onchange="ckdate()" value="${theFormattedSdate}"cssClass="form-control input-sm form_date required"></form:input>
原理:不能将一个JSP标签嵌套在另一个JSP标签中。
参考:https://stackoverflow.com/questions/11736150/how-to-make-fmtformatdate-work-for-forminput
2.SpringMVC 使用JSR-303进行校验 @Valid
参考:http://www.cnblogs.com/yangzhilong/p/3724967.html
<1>准备校验时使用的JAR
validation-api-1.0.0.GA.jar:JDK的接口;
hibernate-validator-4.2.0.Final.jar是对上述接口的实现;
log4j、slf4j、slf4j-log4j
<2>编写需要校验的bean
@NotNull(message="名字不能为空")private String userName;@Max(value=120,message="年龄最大不能查过120")private int age;@Email(message="邮箱格式错误")private String email;
这里注意NotNull、NotEmpty、NotBlank的区别
<3>校验方法
@RequestMapping("/login") public String testValid(@Valid User user, BindingResult result){ if (result.hasErrors()){ List<ObjectError> errorList = result.getAllErrors(); } return newMAV().addObject("error", errorList); }
备注:这里一个@Valid的参数后必须紧挨着一个BindingResult 参数,否则spring会在校验不通过时直接抛出异常;errorList集合里封装了每个出错字段的error对象。
前台可以使用spring的标签库也可以自己自定义处理。
spring标签库的用法:
<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form"%> <html> <head> <title>Reservation Form</title> <style> .error { color: #ff0000; font-weight: bold; } </style> </head> <body> <form:form method="post" modelAttribute="vm"> <form:errors path="*" cssClass="error" /> <table> <tr> <td>Name</td> <td><form:input path="userName" /> </td> <td><form:errors path="userName" cssClass="error" /> </td> </tr> <tr> <td>email</td> <td><form:input path="email" /> </td> <td><form:errors path="email" cssClass="error" /> </td> </tr> <tr> <td colspan="3"><input type="submit" /> </td> </tr> </table> </form:form> </body> </html>
其实直接取error的值即可:<form:errors path="被注解的字段名" cssClass="error" />
3.标签
该标签下,采用foreach循环,导致数据无法回显,默认为<option value="" selected></option>
。以下为错误示例。
<form:select path="agreementType" itemValue="${agreementType}" cssClass="form-control input-sm"> <option value="" selected></option> <c:forEach items="${AGREEMENT_TYPE}" var="item"> <option value="${item.dictCode}">${item.dictNameCn}</option> </c:forEach></form:select>
正确示例。
采用form:options标签
<form:select path="agreementType" cssClass="form-control input-sm"> <form:option value=""></form:option> <form:options items="${AGREEMENT_TYPE}" itemValue="dictCode" itemLabel="dictNameCn"/> </form:select>
- 开发笔记
- 开发笔记
- 开发笔记
- 开发笔记
- 开发笔记
- 开发笔记
- 开发笔记
- 开发笔记
- 开发笔记
- 开发笔记
- 开发笔记
- 开发笔记
- 开发笔记
- 开发笔记
- 开发笔记
- 开发笔记
- 开发笔记
- 开发笔记
- mybatis小坑总结
- MySQL里面的子查询
- stylus之内置方法(Built-in Functions)
- 笑谈java并发编程五之AtomicLong*介绍
- java虚拟机内存分布
- 开发笔记
- Srping Boot Devtools部署(spring-boot-devtools)
- jquery常用语句总结
- 特征工程
- xml to html 双向数据绑定handlebars 处理
- mysql和oracle获取第3,4条数据
- Unity美术资源的优化
- 腾讯云基本配置(javaweb)ubuntu版本
- 超参数优化