好的,首先要说我几天都在搜索如何解决这个问题,而且我已经尝试过百万种方式,但我认为这两种方式都不适用于我,或者我认为遗失了什么。
我有一个包含列类型日期的数据库表。
我有一个带有字段Date
的模型类。
public class Pacijent {
//..
private Date datum;
//getters and setters
}
一个Data
访问对象,用于检索和存储到这样的模型类中:
ResultSet rs = ps.executeQuery();
while(rs.next()) {
Pacijent pacijent = new Pacijent();
//..
pacijent.setDatum(rs.getDate("datum"));
//..
pacijents.add(pacijent);
}
接下来,我在控制器中设置set属性,并在jsp页面中检索它,如${param.paramName}
问题是它在yyyy-MM-dd
输出,我希望它显示在dd-MM-yyyy
中。你能指导我如何以正确的方式格式化它吗?
答案 0 :(得分:2)
JSTL fmt
库有一个formatDate
标记用于此目的。要使用它,首先将此指令放在JSP的<head>
元素中:
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>
然后在页面正文中,您可以编写类似
的内容<fmt:formatDate value="${date}" pattern="dd-MM-yyyy"/>
答案 1 :(得分:1)
这可能不是最佳选择,但一个选项是在Pacijent
类中公开一个字符串getter,它使用SimpleDateFormat
以您想要的格式生成日期字符串:< / p>
class Pacijent {
// other content
public String getDateFormatted() {
SimpleDateFormat sdf = new SimpleDateFormat("dd/M/yyyy");
String date = sdf.format(datum);
return date;
}
}
然后,从JSP访问此getter。