`

自定义struts日期显示格式

 
阅读更多
Struts日期显示格式
一、使用properties配置文件
1.写一个Messages.properties配置文件:
#datetime:
global.format.date={0,date,yyyy-MM-dd}
global.format.time={0,date,HH:mm:ss}
global.format.datetime={0,date,yyyy-MM-dd HH:mm:ss}
global.format.datetime02={0,date,yyyy-MM-dd HH:mm}
#datetime是控制时间格式

2.页面上:<s:text name="global.format.date"><s:param value="deployDate" /></s:text>

其中:<s:text name="global.format.date">控制你要显示的时间格式

<s:param value="deployDate" />是你要显示的时间
<s:text>

二、使用<s:data>标签
<input type="text" value="<s:date name="deployDate" format="yyyy-MM-dd" />" />
其中name="deployDate"是你要显示的时间,format="yyyy-MM-dd"是显示的格式

struts自带的日期格式化,仅支持date类型的数据,因此使用自定义标签扩展此功能
以下为标签主要代码
Java代码 收藏代码
  1. publicbooleanstart(Writerwriter){
  2. booleanresult=super.start(writer);
  3. try{
  4. Datedate=getDateValue();/*获取日期时间对象*/
  5. SIMPLE_DATE_FORMAT.applyPattern(getTargetFormat());/*设置要显示日期格式*/
  6. writer.write(SIMPLE_DATE_FORMAT.format(date));
  7. }catch(Exceptione){
  8. log.error(e.getMessage(),e);
  9. returnfalse;
  10. }
  11. returnresult;
  12. }
  13. privateStringgetTargetFormat(){
  14. targetPattern=TextProviderHelper.getText(targetPattern,"",stack);
  15. if(StringUtils.isEmptyString(targetPattern)){
  16. if("datetime".equals(dateType)){
  17. targetPattern=SelfCareConst.DATE_DDMMMYYYYHH24MMSS;
  18. }else{
  19. targetPattern=SelfCareConst.DATE_DDMMMYYYY;
  20. }
  21. }
  22. returntargetPattern;
  23. }
  24. privateDategetDateValue()throwsParseException{
  25. Objectobj=stack.findValue(value);
  26. if(objinstanceofDate){
  27. return(Date)obj;
  28. }elseif(objinstanceofString||objinstanceofInteger||objinstanceofLong){
  29. /*如果在页面直接写value=“201212”等类似,则此value最终会被转换成Long或者Integer。因此在此判断*/
  30. SIMPLE_DATE_FORMAT.applyPattern(getSrcFormat());
  31. returnSIMPLE_DATE_FORMAT.parse(String.valueOf(obj));
  32. }else{
  33. log.error("unSupportthetypeof["+value+"],thetypeis["+obj.getClass().getName()+"]");
  34. returnnull;
  35. }
  36. }
  37. privateStringgetSrcFormat()
  38. {
  39. srcPattern=TextProviderHelper.getText(srcPattern,"",stack);
  40. if(StringUtils.isEmptyString(srcPattern)){
  41. log.error("Srcpatternisnull.");
  42. }
  43. returnsrcPattern;
  44. }
分享到:
评论

相关推荐

    Struts2 in action中文版

    11.3.5 格式化日期和数字 256 11.4 覆盖框架默认的地域决定 257 11.4.1 让用户交互地设置地域 257 11.4.2 以编码的方式设置地域 259 11.5 小结 260 第五部分 高级主题和最佳实践 第12章 使用插件扩展Struts 2 264 ...

    struts2 标签库 帮助文档

    1. &lt;s:date/&gt;-----获取日期格式 2. &lt;s:datetimepicker&gt;&lt;/s:datetimepicker&gt;-----日期输入框 3. &lt;s:debug&gt;&lt;/s:debug&gt;-----显示错误信息 4. &lt;s:div&gt;&lt;/s:div&gt;-----表示一个块,类似于html的&lt;div&gt;&lt;/div&gt; 5. ...

    深入浅出Struts 2 .pdf(原书扫描版) part 1

    如果某种操作在不同的地区有不同的结果,那它就是对地区敏感的(10cale-sensitive),例如,显示日期就是一种对地区敏感的操作,因为日期的显示格式应该顺应本地用户所在的国家或地区的语言习惯。以2007年8月15日为...

    Java EE Web开发实例精解完整光盘

    例程1-2:利用JSP表达式显示动态格式文本 例程1-3:利用JSP标准标记库和表达式语言显示动态新闻 例程1-4:利用自定义标记控制网页图片显示 例程1-5:利用Applet在Web布面实现时钟 例程1-6:利用JSP与Flash实现用户...

    JspRun!社区论坛系统 v6.0.0 build 20110516 UTF-8 安装版.zip

    24、修复了:前台自定义信息分类--日期控件IE下显示错误,谷歌浏览器下乱码现象 25、修改了:如果后台设置的“论坛名称”过长,在分栏模式下将出现文字重叠的现象。 26、修改了:使用 Archiver 功能浏览没有阅读...

    JAVA上百实例源码以及开源项目

    显示出当前时间及年份,还可以选择年份及月份和日期 Java编写的HTML浏览器 一个目标文件 摘要:Java源码,网络相关,浏览器  Java编写的HTML浏览器源代码,一个很简单甚至不算是浏览器的HTML浏览器,使用方法:  可...

    JspRun!社区论坛系统 v6.0.0 build 20110516 GBK 安装版.zip

    24、修复了:前台自定义信息分类--日期控件IE下显示错误,谷歌浏览器下乱码现象 25、修改了:如果后台设置的“论坛名称”过长,在分栏模式下将出现文字重叠的现象。 26、修改了:使用 Archiver 功能浏览没有阅读...

    JspRun!社区论坛系统 v6.0.0 build 20110516 UTF-8 源码版.zip

    24、修复了:前台自定义信息分类--日期控件IE下显示错误,谷歌浏览器下乱码现象 25、修改了:如果后台设置的“论坛名称”过长,在分栏模式下将出现文字重叠的现象。 26、修改了:使用 Archiver 功能浏览没有阅读...

    JspRun!社区论坛系统 v6.0.0 build 20110516 GBK 源码版.zip

    24、修复了:前台自定义信息分类--日期控件IE下显示错误,谷歌浏览器下乱码现象 25、修改了:如果后台设置的“论坛名称”过长,在分栏模式下将出现文字重叠的现象。 26、修改了:使用 Archiver 功能浏览没有阅读...

    delphi7编程百例

    ToolBar工具栏控件的使用 动态建立主菜单选项 窗口界面的...自定义系统的About项 修改系统级菜单 实现透明窗体效果 爆破特技窗体 只允许建立一次子窗体的MDI程序 从外部DLL中调用子...

    JAVA上百实例源码以及开源项目源代码

    显示出当前时间及年份,还可以选择年份及月份和日期 Java编写的HTML浏览器 一个目标文件 摘要:Java源码,网络相关,浏览器  Java编写的HTML浏览器源代码,一个很简单甚至不算是浏览器的HTML浏览器,使用方法:  可...

    java面试题

    Struts2只是起到一个数据接收和转接的功能,就是Controller控制器,而传来数据的页面叫view显示层,Struts2将数据提交给进行处理的类叫Model模型层,专门进行数据处理和数据库的连接。 heap和stack有什么区别? 答:...

    freemarker总结

    6、 用户自定义FTL指令:宏和变换器 7、 节点 节点变量表示为树型结构中的一个节点,通常在XML处理中使用。 在模板里对sequences和hashes初始化 sequences 1. [“you”,”me”,”he”] 2. 1..100 3. [ {“Akey...

    Java学习笔记-个人整理的

    {1.4.2}格式化输出浮点数}{24}{subsection.1.4.2} {1.4.3}\texttt {char}}{24}{subsection.1.4.3} {1.4.4}转义字符}{25}{subsection.1.4.4} {1.4.5}Boolean 布尔值}{25}{subsection.1.4.5} {1.5}基本类型变量的...

    java开源包1

    它能够在日期输入框后面弹出一个日历。 网页搜索爬虫 BlueLeech BlueLeech是一个开源程序,它从指定的URL开始,搜索所有可用的链接,以及链接之上的链接。它在搜索的同时可以下载遇到的链接所指向的所有的或预定义...

Global site tag (gtag.js) - Google Analytics