07/30/15 Codeing遇到的问题
页面在周兄的帮助下马上完成了,让头儿看了下,还有两个问题需要修改,我总结了下:
1. 将cst格式的日期换成 YYYY-MM-DDD类似这种。
2. 比如从数据库里面查出来文件大小是4500,我们需要在前端显示成多少KB或者多少M。
我解决问题的思路如下:
1. 通过mapper映射从数据库里面查出来的fileTime格式使我们想要的 2015-07-21 14:29:32 像这种,但是就是将其在后台放进list里面的时候变成了Thu Jul 09 10:55:42 CST 2015这种CST格式日期。
我想着,通过日期转换的方法,将其从后者转换前者,再存进list里面。代码如下:
1 Date fileTime = courseDataList.get(0).getFileTime(); 2 //从后台得到日期(CST格式) 3 SimpleDateFormat sdf = new SimpleDateFormat("EEE MMM dd HH:mm:ss zzz yyyy", Locale.US); 4 //new一个SimpleDateFormat对象,并指定对象格式类型。 5 String stringDate = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(fileTime); 6 //parser,将fileTime转换成我们想要格式的日期。此时stringDate便是我们需要的日期格式。
可之后便找不到方法怎么让这个String类型的stringDate去替换在List里面Date类型的数据,并让它显示在前端。忧伤~~,后来想着既然后台转换遇到麻烦了,可不可以在前端试试咧。然后我请教了另一个同事。原来这问题他刚遇到过。
解决方法是这样的:
在JSP页面引入这个标签库:
1 <%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt" %>
然后接着在获取这个time的时候:
1 <td><fmt:formatDate value="${file.fileTime}" pattern="yyyy-MM-dd HH:mm" /></td>
So Easy。
http://dengzh.iteye.com/blog/525966为有关fmt标签。供自己与大家一起学习。
第二个问题是: 如果在页面通过语句判断文件大小使用kb还是m显示,下面是代码:
1 <c:if test="${file.fileSize < '1024'}">${file.fileSize}KB</c:if> 2 <c:if test="${file.fileSize > '1024'}"><fmt:formatNumber type="number" value="${file.fileSize / 1024} " maxFractionDigits="2"/> M</c:if>