0

我该怎么写:

<fmt:parseDate var="startDate" value="1/${param.month}/${param.year}"
    type="date" dateStyle="short" />

带有 JSF 标签?因为<fmt>JSF2.0 不支持 taglib。上面其实是这样写的:

<jsp:include page="LeaveCalendarMonthly.jsp" flush="true">
    <jsp:param name="month" value='1' />
    <jsp:param name="year" value='2013' />
</jsp:include>

这里月份和年份值通过参数发送到LeaveCalendarMonthly.jsp它使用的页面:

<fmt:parseDate var="startDate" value="1/${param.month}/${param.year}"
    type="date" dateStyle="short" />

该值计算日期,并将<fmt:parseDate>该值解析为日期,var“startDate”保存该值以供将来使用。如何使用 JSF 标签编写相同的内容?请帮助。

4

2 回答 2

0

没有JSF标记可以替代<fmt:parseDate>.

这个遗留的 JSTL 标记转换StringDate,但是在考虑正确的 MVC 设计时,Date反过来在“视图”方面完全没用,因为“视图”应该生成只理解字符串而不是日期的 HTML 代码。您基本上需要再次将其转换回字符串。由于 JSF 严格遵循 MVC 思想,因此在 JSF 中没有这样的东西<fmt:parseDate>。事实上,您应该在模型中完成这项工作,也许以自定义组件的形式。

您的具体功能要求并不完全清楚,但到目前为止,您似乎需要将本地日历事物从旧版 JSP/JSTL 转换为 JSF。在这种情况下,获取现有的 JSF 组件(例如PrimeFaces<p:calendar> )要容易得多。这种方式是一个问题

<p:calendar value="#{bean.date}" />

无需重新发明整个轮子。

于 2013-06-11T13:33:09.667 回答
-2
<h:outputText value="#{something that points to the date you want to convert}"><f:convertDateTime pattern="dd/MM/yyyy" /></h:outputText>
于 2013-06-10T14:10:21.067 回答