案例目录:

关键代码展示:

DateConverter:

  1. package com.mlq.util;
  2.  
  3. import com.opensymphony.xwork2.conversion.TypeConversionException;
  4. import org.apache.struts2.util.StrutsTypeConverter;
  5.  
  6. import java.text.DateFormat;
  7. import java.text.ParseException;
  8. import java.text.SimpleDateFormat;
  9. import java.util.Date;
  10. import java.util.Map;
  11.  
  12. /**
  13. * @author asus
  14. */
  15. public class DateConverter extends StrutsTypeConverter {
  16.  
  17. public static final String DEFAULT_DATE_FORMAT = "yyyy-MM-dd";
  18.  
  19. private static final DateFormat[] dateFormats = {
  20. new SimpleDateFormat("yyyy年MM月dd日"),
  21. new SimpleDateFormat(DEFAULT_DATE_FORMAT),
  22. new SimpleDateFormat("MM/dd/yy"),
  23. new SimpleDateFormat("yyyy/MM/dd"),
  24. new SimpleDateFormat("yyyy.MM.dd"),
  25. new SimpleDateFormat("yyyyMMdd")};
  26.  
  27. @Override
  28. public Object convertFromString(Map map, String[] strings, Class aClass) {
  29. System.out.println("================DateConverter============1=======");
  30. for (DateFormat format : dateFormats) {
  31. try {
  32. return format.parse(strings[0]);
  33. } catch (ParseException e) {
  34. continue;
  35. } catch (RuntimeException e) {
  36. continue;
  37. }
  38. }
  39. throw new TypeConversionException();
  40. }
  41.  
  42. @Override
  43. public String convertToString(Map map, Object o) {
  44. System.out.println("================DateConverter============2=======");
  45. SimpleDateFormat format = new SimpleDateFormat(
  46. DEFAULT_DATE_FORMAT);
  47. return format.format((Date) o);
  48.  
  49. }
  50. }

login.jsp:

  1. <%@ taglib prefix="s" uri="/struts-tags" %>
  2. <%--
  3. Created by IntelliJ IDEA.
  4. User: asus
  5. Date: 2018/10/4
  6. Time: 10:32
  7. To change this template use File | Settings | File Templates.
  8. --%>
  9. <%@ page contentType="text/html;charset=UTF-8" language="java" isELIgnored="false" %>
  10. <html>
  11. <head>
  12. <title>登陆页面</title>
  13. </head>
  14. <body>
  15. <div>
  16. <fieldset>
  17. <legend>类型转换</legend>
  18. <form action="/user/log" method="post">
  19. <fieldset>
  20. <legend>类型转换-日期类型</legend>
  21. <input type="text" name="date" value="2018-05-05">
  22. </fieldset>
  23. <input type="submit" value="提交">
  24. </form>
  25. </fieldset>
  26. </div>
  27. </body>
  28. </html>

Struts2日期转换Demo下载:

分享知识-快乐自己:Struts2 前台日期到后台的日期格式转换的更多相关文章

  1. 关于jquery日期控件及时间格式转换2017.05.27

    开始时间:<input type="date" id="starttime" class="time"/>//data为日期控件 ...

  2. C#夯实基础之多线程二:主线程、前台线程与后台线程

    我们在<C#夯实基础之多线程一:初识多线程>一文中第二部分中指出,既然windows最终发展出了多线程模型,按理说,我们直接使用一个.NetFramework的线程类就可以直接撸代码了,但 ...

  3. aspx前台调用cs后台方法

    随着对于mvc的习惯使用,aspx页面渐渐用的不怎么用了,主要是生命周期感觉上比较慢,要么就用html+handler一般处理程序来装下逼.虽然不用,但还是要给刚工作的人讲下,相信不少人都想过:既然前 ...

  4. 前台js与后台方法互调

    一:后台调用前台js的方法 ClientScript.RegisterStartupScript(ClientScript.GetType(), "myscript", " ...

  5. C# 前台线程与后台线程的区别和联系

    c#前台线程与后台线程的区别和联系http://www.189works.com/article-13702-1.html 如何取消后台线程的执行http://www.cnblogs.com/shan ...

  6. asp.net 调用前台JS调用后台,后台掉前台JS

    C#前台js调用后台代码前台js<script type="text/javascript" language="javascript"> func ...

  7. ASP.NET前台JS与后台CS函数如何互相调用

    摘要: 在实际的Web开发中,我们可能会常常遇到后台调用前台JS代码或者前台JS调用后台代码的情况.今天就把比较实用的前后台相互调用的方法总结出来和大家分享. 在实际的Web开发中,我们可能会常常遇到 ...

  8. C# 前台线程与后台线程区别

    using System; using System.Drawing; using System.Windows.Forms; using System.Threading; namespace Wi ...

  9. [转]Asp.Net调用前台js调用后台代码分享

    1.C#前台js调用后台代码 前台js <script type="text/javascript" language="javascript"> ...

随机推荐

  1. PHP Memcached 面试题

    这里收集了经常被问到的关于memcached的问题 * memcached是怎么工作的? * memcached最大的优势是什么? * memcached和MySQL的query cache相比,有什 ...

  2. 关于PHP反射

    本文实例讲述了PHP反射机制原理与用法.分享给大家供大家参考,具体如下: 反射 面向对象编程中对象被赋予了自省的能力,而这个自省的过程就是反射. 反射,直观理解就是根据到达地找到出发地和来源.比如,一 ...

  3. python is == 的区别, 编码与解码.深浅拷贝

    一. is  ==  的区别 双等表示的是判断是否相等, 注意. 这个双等比较的是具体的值.而不是内存地址 is 比较的是地址 编码回顾 除了了ASCII码以外, 其他信息不能直接转换 编码和解码的时 ...

  4. 【题解】国家集训队礼物(Lucas定理)

    [国家集训队]礼物(扩展Lucas定理) 传送门可以直接戳标题 172.40.23.20 24 .1 答案就是一个式子: \[ {n\choose \Sigma_{i=1}^m w}\times\pr ...

  5. python cookbook第三版学习笔记十五:property和描述

    8.5 私有属性: 在python中,如果想将私有数据封装到类的实例上,有两种方法:1 单下划线.2 双下划线 1 单下划线一般认为是内部实现,但是如果想从外部访问的话也是可以的 2 双下划线是则无法 ...

  6. bug_1——oracle listagg():列转行

    select    listagg(字段名 ,',') within group (order by 字段名) from表 where 条件 listagg():列转行 WM_CONCAT():和并列 ...

  7. 从HttpServletRequest获取POST数据的代码

    我们经常需要从HttpServletRequest对象获取POST请求的数据,下面给出简练的代码共大家参考 StringBuffer jb = new StringBuffer(); String l ...

  8. 4G U盘版64位bitcoin专用挖矿操作系统

    这个操作系统是基于linux的操作系统,采用的ubuntu平台打造,所有的软件都已经安装齐备,是一个bitcoin专用挖矿操作系统,是64位的,对于显卡数量基本上没有限制,前提是你的主板支持足够多的显 ...

  9. SQL语法结构

    目录 一.增 1.增加字段 2.新建约束 二.删 1.删除字段 2.删除约束 三.改 1.修改字段 一.增 1.增加字段: ALTER TABLE [表名] ADD [字段名] NVARCHAR () ...

  10. Python程序打包成exe的一些坑

    今天写了一个项目,Python项目,需要在win7上跑起来,我想,这不是简单的不行么,直接上Pyinstaller不就完了? 但是后来,我发觉我真是too young too simple. 为什么这 ...