摘要:本文主要向大家介绍了机器学习入门之springmvc 日期转换器和编码过滤器 学习笔记,通过具体的内容向大家展现,希望对大家学习机器学习入门有所帮助。
本文主要向大家介绍了机器学习入门之springmvc 日期转换器和编码过滤器 学习笔记,通过具体的内容向大家展现,希望对大家学习机器学习入门有所帮助。
springmvc不能将String类型转成Date类型,必须自定义类型转换器
<!-- 编码过滤器 --> <filter> <filter-name>CharacterEncodingFilter</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>CharacterEncodingFilter</filter-name> <url-pattern>/*</url-pattern> </filter-mapping> <!-- 映射器(框架) BeanNameUrlHandleMapping表示benan标签 --> <bean class="org.springframework.web.servlet.handler.BeanNameUrlHandlerMapping"></bean> <!-- 适配器(框架) --> <bean class="org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter"></bean> <!-- 视图解析器(框架) 通过 --> <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"> <!-- 路径前缀 --> <property name="prefix" value="/jsp/"/> <!-- 路径后缀 --> <property name="suffix" value=".jsp"/> <!-- 前缀+视图逻辑名+后缀=真实路径 --> </bean>
java代码
import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import org.springframework.web.servlet.ModelAndView;import org.springframework.web.servlet.mvc.Controller;import java.text.SimpleDateFormat;import java.util.Date;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import org.springframework.beans.propertyeditors.CustomDateEditor;import org.springframework.validation.BindException;import org.springframework.web.bind.ServletRequestDataBinder;import org.springframework.web.servlet.ModelAndView;import org.springframework.web.servlet.mvc.AbstractCommandController;/** * 单例 * 处理类 * @author AdminTC */@SuppressWarnings("deprecation")public class EmpAction extends AbstractCommandController{ public EmpAction(){ //将表单参数封装到Emp对象中去 this.setCommandClass(Emp.class); } /** * 自定义类型转换器,将String->Date类型(格式yyyy-MM-dd) */ @Override protected void initBinder(HttpServletRequest request,ServletRequestDataBinder binder) throws Exception { //向springmvc内部注入一个自定义的类型转换器 //参数一:将String转成什么类型的字节码 //参数二:自定义转换规则 //true表示该日期字段可以为空 binder.registerCustomEditor( Date.class, new CustomDateEditor(new SimpleDateFormat("yyyy-MM-dd"),true)); } /** * obj表示封装后的实体 * error表示封装时产生的异常 */ @Override protected ModelAndView handle( HttpServletRequest request, HttpServletResponse response, Object obj, BindException error)throws Exception { ModelAndView modelAndView = new ModelAndView(); modelAndView.addObject("message","增加员工成功"); Emp emp = (Emp) obj; System.out.println(emp.getUsername()+":"+emp.getGender()+":"+emp.getHiredate().toLocaleString()); //将Emp封装到ModeAndView对象中 modelAndView.addObject("emp",emp); modelAndView.setViewName("success"); return modelAndView; }} login.jsp <%@ page language="java" pageEncoding="UTF-8"%><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html> <head> <title>演示二个控制器</title> </head> <body> <a href="${pageContext.request.contextPath}/index.action" style="text-decoration:none">首页</a> <hr/> <form action="${pageContext.request.contextPath}/add.action" method="POST"> <table border="2" align="center"> <tr> <th>姓名</th> <td><input type="text" name="username"/></td> </tr> <tr> <th>性别</th> <td> <input type="radio" name="gender" value="男"/>男 <input type="radio" name="gender" value="女" checked/>女 </td> </tr> <tr> <th>入职时间</th> <td> <input type="text" name="hiredate" value="2018-4-22"/> </td> </tr> <tr> <td colspan="2" align="center"> <input type="submit" value="提交"/> </td> </tr> </table> </form> </body></html> success.jsp <%@ page language="java" pageEncoding="UTF-8"%><%@ taglib uri="//java.sun.com/jsp/jstl/fmt" prefix="fmt" %><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html> <body> success.jsp<br/> 成功访问<br/> ${requestScope.message}<br/> 姓名:${requestScope.emp.username}<br/> 性别:${requestScope.emp.gender}<br/> 入职时间:${requestScope.emp.hiredate}<br/> <hr/> 入职时间:<fmt:formatDate value="${requestScope.emp.hiredate}" type="date" dateStyle="medium" /> </body></html> <!-- 1)fmt:formatDate 来源于 //java.sun.com/jsp/jstl/fmt 2)fmt:formatDate作用是格式化日期的显示,例如:2015年5月10日 星期日 3)value表示需要格式化的值 4)type表示显示日期,时间,都显示 type=date表示只显示日期 type=time表示只显示时间 type=both表示日期时间均显示 5)dateStyle表示显示日期的格式:short/medium/default/long/full -->
本文由职坐标整理并发布,希望对同学们有所帮助。了解更多详情请关注职坐标人工智能机器学习频道!
您输入的评论内容中包含违禁敏感词
我知道了
请输入正确的手机号码
请输入正确的验证码
您今天的短信下发次数太多了,明天再试试吧!
我们会在第一时间安排职业规划师联系您!
您也可以联系我们的职业规划师咨询:
版权所有 职坐标-一站式IT培训就业服务领导者 沪ICP备13042190号-4
上海海同信息科技有限公司 Copyright ©2015 www.zhizuobiao.com,All Rights Reserved.
沪公网安备 31011502005948号