Sus*_*sie 10 java jsp jstl web-applications el
如何Date在JSP中格式化和显示对象,最好使用JSTL和EL,但是欢迎任何其他解决方案?我无法更改bean对象.
我有以下课程:
import java.util.Date;
public class Person {
private Date myDate;
public Date getMyDate() {
return myDate;
}
public void setMyDate(Date myDate){
this.myDate = myDate;
}
}
Run Code Online (Sandbox Code Playgroud)
我试图在JSP页面中显示此对象中的日期.当我这样做时,<c:out value="${person.myDate} />它会在页面中打印出来.2013-06-08 00:00:00.0
我想要做的是删除日期的时间部分并将其格式化为MM-dd-yyyy.
我试过这个:
<c:set var="myDate" value="${person.myDate }"/>
<fmt:formatDate value="${myDate}" type="date" var="formattedDate"/>
Run Code Online (Sandbox Code Playgroud)
它给了我以下错误
无法将字符串'$ {myDate}'转换为类java.util.Date以获取属性值:java.lang.IllegalArgumentException:Property Editor未向PropertyEditorManager注册
然后我尝试了以下内容:
<c:set var="myDate" value="${person.myDate }"/>
<fmt:parseDate value="${myDate }" var="parsedDate" pattern="MM-dd-yyyy"/>
<c:out value="${parsedDate }"/>
Run Code Online (Sandbox Code Playgroud)
我得到了:
无法解析的日期:"$ {myDate}"
Bog*_*dan 20
您的代码应该正常工作.试试这样:
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>
<fmt:formatDate value="${person.myDate}" var="formattedDate"
type="date" pattern="MM-dd-yyyy" />
${formattedDate}
Run Code Online (Sandbox Code Playgroud)
如果您有错误的JSTL声明来匹配您的Servlet/JSP版本,它通常不起作用.在尝试其他任何事情之前,请确保阅读此内容:如何在Web应用程序中引用和使用JSTL.
如果您不确切知道您的环境,可以执行一些测试来找出版本,尽管${1 + 2}在JSP中编写的简单应该是JSP版本的一个很好的指标.如果你3在浏览器中看到你正在使用JSP 2.x,如果你看到字符串${1 + 2}而不是你在JSP 1.x.
| 归档时间: |
|
| 查看次数: |
23940 次 |
| 最近记录: |