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 页面时,它会引发一些 javascript 问题,例如未定义 popupcalender。我发现在呈现的 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. 尽管 javadocs 声明自 Tomahawk 1.1.7 以来不再需要此功能,但我会尝试一下。只需根据本文档ExtensionFilter定义in 。它负责在响应中注入必要的脚本/样式。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 回答