今天遇到这个问题,前台页面的时间格式不友好,需要修改为常见的格式。
传统来说,可以在后台解决,在后台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"/>
<fmt:formatDate value="${test}" pattern="HH:mm:ss"/>
先将String转为Date,再按Date处理。