机器学习入门之springmvc 日期转换器和编码过滤器 学习笔记
小标 2018-12-18 来源 : 阅读 382 评论 0

摘要:本文主要向大家介绍了机器学习入门之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    -->

本文由职坐标整理并发布,希望对同学们有所帮助。了解更多详情请关注职坐标人工智能机器学习频道!

本文由 @小标 发布于职坐标。未经许可,禁止转载。
喜欢 | 0 不喜欢 | 0
看完这篇文章有何感觉?已经有0人表态,0%的人喜欢 快给朋友分享吧~
评论(0)
后参与评论

您输入的评论内容中包含违禁敏感词

我知道了

助您圆梦职场 匹配合适岗位
验证码手机号,获得海同独家IT培训资料
选择就业方向:
人工智能物联网
大数据开发/分析
人工智能Python
Java全栈开发
WEB前端+H5

请输入正确的手机号码

请输入正确的验证码

获取验证码

您今天的短信下发次数太多了,明天再试试吧!

提交

我们会在第一时间安排职业规划师联系您!

您也可以联系我们的职业规划师咨询:

小职老师的微信号:z_zhizuobiao
小职老师的微信号:z_zhizuobiao

版权所有 职坐标-一站式IT培训就业服务领导者 沪ICP备13042190号-4
上海海同信息科技有限公司 Copyright ©2015 www.zhizuobiao.com,All Rights Reserved.
 沪公网安备 31011502005948号    

©2015 www.zhizuobiao.com All Rights Reserved

208小时内训课程