1

Myfaces Tomahawk のカレンダー コンポーネントを使用しようとしています。Tomahawk 1.1.9 および Websphere 6.1 で JSF 1.1 を実行しています。次のコードが機能しないため、JSF1.1 と Tomahawk 1.1.9 は互換性がないようです -

<t:inputCalendar id="secondOne" monthYearRowClass="yearMonthHeader"
    weekRowClass="weekHeader" popupButtonStyleClass="standard_bold"
    currentDayCellClass="currentDayCell" value="#{dobBean.dateOfBirth}"
    renderAsPopup="true" popupTodayString="Shamik"
    popupDateFormat="MM/dd/yyyy" popupWeekString="Wk"
    helpText="MM/DD/YYYY" forceId="true" />

IE 7 からこの JSP ページにアクセスすると、popupcalender が定義されていないなどの JavaScript の問題が発生します。レンダリングされた HTML ページに Java スクリプトが追加されていることがわかりましたが、この問題の理由がわかりません。

JSF 1.1 で使用する Tomahawk のバージョンを教えてください。

編集:

すでに web.xml ファイルで拡張フィルターを構成しています。このようなもの -

<filter>
    <filter-name>MyFacesExtensionsFilter</filter-name>
    <filter-class>org.apache.myfaces.webapp.filter.ExtensionsFilter</filter-class>
</filter>
<filter-mapping>
    <filter-name>MyFacesExtensionsFilter</filter-name>
    <!-- servlet-name must match the name of your javax.faces.webapp.FacesServlet entry -->
    <servlet-name>Faces Servlet</servlet-name>
</filter-mapping>
<filter-mapping>
    <filter-name>MyFacesExtensionsFilter</filter-name>
    <url-pattern>/faces/myFacesExtensionResource/*</url-pattern>
</filter-mapping>   
4

2 に答える 2

2

今日、この問題の解決策を見つけました。これは websphere 6.1 に関係しています。私が事実を述べているように、人々が同様の問題に直面している次のリンクを見つけました。上記のリンクで述べたように、このリンクをたどって、websphere コンテナーにカスタム・プロパティー com.ibm.ws.webcontainer.invokefilterscompatibility=true を追加しました。

于 2010-02-11T14:29:32.560 に答える
1

Tomahawk は JSF 1.1 と 1.2 の両方と互換性があります (JSF 2.0 とはまだ互換性がありません)。あなたが説明している問題は、 でExtensionsFilter適切に構成されていないことで認識できますweb.xml。Tomahawk 1.1.7以降、これはもう必要ないとjavadocsに記載されていますが、試してみます。このドキュメントに従ってExtensionFilterinを定義するだけです。つまり、応答に必要なスクリプト/スタイルを挿入する責任があります。web.xml

<filter>
    <filter-name>MyFacesExtensionsFilter</filter-name>
    <filter-class>org.apache.myfaces.webapp.filter.ExtensionsFilter</filter-class>
</filter>
<filter-mapping>
    <filter-name>MyFacesExtensionsFilter</filter-name>
    <!-- servlet-name must match the name of your javax.faces.webapp.FacesServlet entry -->
    <servlet-name>Faces Servlet</servlet-name>
</filter-mapping>
于 2010-02-11T00:04:32.043 に答える