0

どのように書くことができますか:

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

JSFタグで?<fmt>taglib は JSF2.0 ではサポートされていないためです。上記は実際にはこのように書かれています:

<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 タグは に変換StringされDateますが、適切な MVC 設計を考慮するとDate、「ビュー」は日付ではなく文字列のみを理解する HTML コードを生成することになっているため、「ビュー」側では はまったく役に立ちません。基本的に、再度文字列に変換する必要があります。JSF は MVC のイデオロギーに厳密に従っているため<fmt:parseDate>、JSF のようなものはありません。実際、このジョブはモデル内で、おそらくカスタム コンポーネントのフレーバーで行う必要があります。

具体的な機能要件は完全には明確ではありませんが、これまでのところ、自家製のカレンダーをレガシー JSP/JSTL から JSF に変換する必要があるように見えます。その場合、PrimeFaces<p:calendar>などの既存の JSF コンポーネントを取得する方がはるかに簡単です。このようにそれは問題です

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

車輪全体を再発明する必要はありません。

于 2013-06-11T13:33:09.667 に答える