Java JSF1.1和MyFaces战斧1.1.9

Java JSF1.1和MyFaces战斧1.1.9,java,jsf,tomahawk,Java,Jsf,Tomahawk,我正在尝试使用Myfaces Tomahawk中的日历组件。我正在使用Tomahawk 1.1.9和WebSphere6.1运行JSF1.1。 看起来JSF1.1和Tomahawk 1.1.9不兼容,因为以下代码不起作用- <t:inputCalendar id="secondOne" monthYearRowClass="yearMonthHeader" weekRowClass="weekHeader" popupButtonStyleClass="standard_bold"

我正在尝试使用Myfaces Tomahawk中的日历组件。我正在使用Tomahawk 1.1.9和WebSphere6.1运行JSF1.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" />

当通过IE7访问此jsp页面时,它会引发一些javascript问题,如未定义PopupCalendar。我发现在呈现的HTML页面中添加了java脚本,但不知道为什么会出现这个问题

知道JSF1.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>   

MyFaceXtensionsFilter
org.apache.myfaces.webapp.filter.ExtensionsFilter
MyFaceXtensionsFilter
Facesservlet
MyFaceXtensionsFilter
/faces/myFacesExtensionResource/*

战斧同时兼容JSF1.1和1.2(目前还不兼容JSF2.0)。您描述的问题可以识别为未在
web.xml
中正确配置。尽管javadocs声明自从Tomahawk 1.1.7以来不再需要它,但我还是会尝试一下。只需根据定义
web.xml
中的
ExtensionFilter
。它负责在响应中注入必要的脚本/样式

<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>

MyFaceXtensionsFilter
org.apache.myfaces.webapp.filter.ExtensionsFilter
MyFaceXtensionsFilter
Facesservlet

我今天找到了这个问题的解决方案。这与WebSphere6.1有关。我发现下面的例子,人们面临着和我一样的问题。
正如上面的链接中所提到的,我在WebSphereContainer中添加了一个自定义属性com.ibm.ws.webcontainer.invokefilterscompatibility=true,方法如下

我在web.xml文件中有扩展名过滤器。我可以看到生成的html中有javascript,但它仍然不工作。看起来与WebSphere有关。+1:你完全正确,这是WebSphere的问题。事实上,我已经知道这个特别的问题,我以前在其他论坛上看过/读过它,但不幸的是,当我读到你的问题时,我没有立即意识到/回忆起这一点。顺便说一句,你可以自由发布和接受自己的答案。