原谅我的无知,我坚持这一点。我需要做的是,访问我的bean中的日期成员并将其传递给定义的方法,如下所示 -
<%!
SimpleDateFormat desiredDateFormat = new SimpleDateFormat("yyyy/mm/dd HH:mm:ss");
String getFormattedDate(Date inputDate){
if(inputDate == null){
return null;
}
else{
return desiredDateFormat.format(inputDate);
}
}
%>
我的jsp页面的Html部分看起来像这样。
<table cellpadding="0" id="proposals" cellspacing="0" border="1 px"
class="dataTable">
<thead>
<tr>
<th>Proposal Id</th>
<th>Release Candidate Id</th>
<th>Proposal Description</th>
<th>Application</th>
<th>Requester</th>
<th>Proposal Status</th>
<th>Proposal Creation Date</th>
<th>Planned Proposal Deployment Date</th>
<th>Action</th>
</tr>
</thead>
<tbody>
<c:forEach var="proposal"
items="${serviceOutput.ret.proposalsList}">
<tr class="proposalRow" id="${proposal.id}">
<td><a href="/proposal?action=view&tab=general&proposalId=${proposal.id}">${proposal.id}</a></td>
<td><a href="/releaseCandidate?action=view&tab=general&releaseCandidateId=${proposal.releaseCandidateId}">${proposal.releaseCandidateId}</a></td>
<td>${proposal.description}</td>
<td>${proposal.application}</td>
<td>${proposal.requester}</td>
<td>${proposal.status}</td>
<td><%= getFormattedDate(${proposal.creationDate})%></td>
<td><%= getFormattedDate(${proposal.plannedDeploymentDate})%></td>
<td><a
href="/proposal?action=view&tab=general&proposalId=${proposal.id}">Edit</a></td>
</tr>
</c:forEach>
</tbody>
</table>
正如您所猜测的那样,我无法在html代码中访问这些日期成员 - creationDate和plannedDeploymentDate。 任何人都可以建议我如何做到这一点。
答案 0 :(得分:2)
不要使用 scriptlet 。使用JSTL <fmt:formatDate>
。
将其添加到JSP的顶部:
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>
然后替换
<td><%= getFormattedDate(${proposal.creationDate})%></td>
<td><%= getFormattedDate(${proposal.plannedDeploymentDate})%></td>
通过
<td><fmt:formatDate value="${proposal.creationDate}" pattern="yyyy/mm/dd HH:mm:ss" /></td>
<td><fmt:formatDate value="${proposal.plannedDeploymentDate}" pattern="yyyy/mm/dd HH:mm:ss" /></td>
删除那个不必要的 scriptlet 函数。