牛骨文教育服务平台(让学习变的简单)
博文笔记

EL表达式读取时间格式的处理

创建时间:2015-02-15 投稿人: 浏览次数:4444
今天遇到这个问题,前台页面的时间格式不友好,需要修改为常见的格式。 传统来说,可以在后台解决,在后台sql语句进行insert或select时,可以对属性进行对应的处理。 但是在Hibernate框架下,后台已经用saveorupdate简单略过,除非修改Hibernate源码,当然这是个技术活,可行性不大。 所以前台的问题,只能前台处理了。 ${xxx.bb},我尝试用js脚本进行转换,但是没有成功,网上搜的算法,代码不全,又很复杂,难以实验。 还可以用java脚本嵌套,但在java框架下,此种方法难以和控制器进行合理的交互,与整体不合,难以实施,除非把控制器也改成传统的servlet,pass掉。 可行方法: 如果时间类型是Date,可以直接用format标签,  首先导入标签 <%@taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt"%><input type="text" value="<fmt:formatDate value="${viewKq.srq}" pattern="yyyy-M-d" />"/>value="${viewKq.srq}"  EL表达式取的日期值 Pattern:输出的日期格式;这样就可以把时间格式化。 但是我这里的时间类型是String,在mysql数据中,是我没见过的一种怪异类型,以上方法失败。 有一下2种方法可行: 1, <td><script>document.write("${XXlist.time}".substring(0, 10));</script></td>
截取字符串。 2,  <fmt:parseDate value="${time}" pattern="HHmmss" var="test"/>   
 <fmt:formatDate value="${test}" pattern="HH:mm:ss"/>  
先将String转为Date,再按Date处理。
声明:该文观点仅代表作者本人,牛骨文系教育信息发布平台,牛骨文仅提供信息存储空间服务。