Are you using Embedded Tomcat or JBoss? I'm using Tomcat with the Embedded Container and it works very well.
This is my config Web.xml (including tomahawk code) Notice that I'am using the nekohtml based FastFilter for Ajax4Jsf This means that you need to download NekoHtml from http://java-source.net/open-source/html-parsers/nekohtml and probably Xerces | <?xml version="1.0" encoding="UTF-8"?> | <web-app version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"> | | <!-- Seam --> | | <listener> | <listener-class>org.jboss.seam.servlet.SeamListener</listener-class> | </listener> | | <!-- JSF --> | <context-param> | <param-name>javax.faces.STATE_SAVING_METHOD</param-name> | <param-value>client</param-value> | </context-param> | | <context-param> | <param-name>javax.faces.DEFAULT_SUFFIX</param-name> | <param-value>.html</param-value> | </context-param> | | <context-param> | <param-name>facelets.DEVELOPMENT</param-name> | <param-value>true</param-value> | </context-param> | | <context-param> | <param-name>facelets.LIBRARIES</param-name> | <param-value>/WEB-INF/tomahawk.taglib.xml</param-value> | </context-param> | | <context-param> | <param-name>org.apache.myfaces.NUMBER_OF_VIEWS_IN_SESSION</param-name> | <param-value>50</param-value> | </context-param> | | <servlet> | <servlet-name>Faces Servlet</servlet-name> | <servlet-class>javax.faces.webapp.FacesServlet</servlet-class> | <load-on-startup>1</load-on-startup> | </servlet> | | <!-- Faces Servlet Mapping --> | | <servlet-mapping> | <servlet-name>Faces Servlet</servlet-name> | <url-pattern>*.jsf</url-pattern> | </servlet-mapping> | | <servlet> | <servlet-name>Seam Remoting</servlet-name> | <servlet-class>org.jboss.seam.remoting.SeamRemotingServlet</servlet-class> | </servlet> | | <servlet-mapping> | <servlet-name>Seam Remoting</servlet-name> | <url-pattern>/seam/remoting/*</url-pattern> | </servlet-mapping> | | <!-- Seam filters --> | <!-- Ajax4JSF Initial parameters --> | <filter> | <display-name>Ajax4jsf Filter</display-name> | <filter-name>ajax4jsf</filter-name> | <filter-class>org.ajax4jsf.FastFilter</filter-class> | </filter> | <filter-mapping> | <filter-name>ajax4jsf</filter-name> | <url-pattern>*.jsf</url-pattern> | </filter-mapping> | <filter-mapping> | <filter-name>ajax4jsf</filter-name> | <url-pattern>/faces/*</url-pattern> | </filter-mapping> | | <context-param> | <param-name>org.ajax4jsf.VIEW_HANDLERS</param-name> | <param-value>com.sun.facelets.FaceletViewHandler</param-value> | </context-param> | <context-param> | <param-name>org.ajax4jsf.Filter</param-name> | <param-value>org.ajax4jsf.FastFilter</param-value> | </context-param> | | | | <!-- Propagate conversations across redirects --> | <filter> | <filter-name>Seam Redirect Filter</filter-name> | <filter-class>org.jboss.seam.servlet.SeamRedirectFilter</filter-class> | </filter> | | <filter-mapping> | <filter-name>Seam Redirect Filter</filter-name> | <url-pattern>*.jsf</url-pattern> | </filter-mapping> | | <filter> | <filter-name>Seam Servlet Filter</filter-name> | <filter-class>org.jboss.seam.servlet.SeamServletFilter</filter-class> | </filter> | | <filter-mapping> | <filter-name>Seam Servlet Filter</filter-name> | <url-pattern>/servlets/*</url-pattern> | </filter-mapping> | | <!-- MyFaces --> | <listener> | <listener-class>org.apache.myfaces.webapp.StartupServletContextListener</listener-class> | </listener> | | <filter> | <filter-name>ExtensionsFilter</filter-name> | <filter-class> | org.apache.myfaces.component.html.util.ExtensionsFilter | </filter-class> | <init-param> | <param-name>uploadMaxFileSize</param-name> | <param-value>10m</param-value> | </init-param> | <init-param> | <param-name>uploadThresholdSize</param-name> | <param-value>100k</param-value> | </init-param> | </filter> | <filter-mapping> | <filter-name>ExtensionsFilter</filter-name> | <servlet-name>Faces Servlet</servlet-name> | </filter-mapping> | <filter-mapping> | <filter-name>ExtensionsFilter</filter-name> | <url-pattern>*.jsf</url-pattern> | </filter-mapping> | <filter-mapping> | <filter-name>ExtensionsFilter</filter-name> | <url-pattern>/faces/*</url-pattern> | </filter-mapping> | </web-app> | faces-config.xml | <?xml version="1.0" encoding="UTF-8"?> | <!DOCTYPE faces-config | PUBLIC "-//Sun Microsystems, Inc.//DTD JavaServer Faces Config 1.0//EN" | "http://java.sun.com/dtd/web-facesconfig_1_0.dtd"> | | <faces-config> | | <converter> | <converter-id>org.joda.ext.jsf.converter.DateTime</converter-id> | <converter-class>org.joda.ext.jsf.converter.DateTimeConverter</converter-class> | </converter> | | <lifecycle> | <phase-listener>org.jboss.seam.jsf.SeamExtendedManagedPersistencePhaseListener</phase-listener> | </lifecycle> | | </faces-config> | tomahawk.taglib.xml | <?xml version="1.0"?> | <!DOCTYPE facelet-taglib PUBLIC | "-//Sun Microsystems, Inc.//DTD Facelet Taglib 1.0//EN" | "http://java.sun.com/dtd/facelet-taglib_1_0.dtd"> | | <facelet-taglib> | <namespace>http://myfaces.apache.org/tomahawk</namespace> | <tag> | <tag-name>aliasBean</tag-name> | <component> | <component-type>org.apache.myfaces.AliasBean</component-type> | <renderer-type>org.apache.myfaces.AliasBean</renderer-type> | </component> | </tag> | <tag> | <tag-name>buffer</tag-name> | <component> | <component-type>org.apache.myfaces.Buffer</component-type> | <renderer-type>org.apache.myfaces.Buffer</renderer-type> | </component> | </tag> | <tag> | <tag-name>checkbox</tag-name> | <component> | <component-type>org.apache.myfaces.HtmlCheckbox</component-type> | <renderer-type>org.apache.myfaces.Checkbox</renderer-type> | <handler-class>com.skalasoft.facelets.tags.generated.HtmlCheckboxTagHandler</handler-class> | </component> | </tag> | <tag> | <tag-name>collapsiblePanel</tag-name> | <component> | <component-type>org.apache.myfaces.HtmlCollapsiblePanel</component-type> | <renderer-type>org.apache.myfaces.CollapsiblePanel</renderer-type> | <handler-class>com.skalasoft.facelets.tags.generated.HtmlCollapsiblePanelTagHandler</handler-class> | </component> | </tag> | <tag> | <tag-name>column</tag-name> | <component> | <component-type>org.apache.myfaces.HtmlColumn</component-type> | </component> | </tag> | <tag> | <tag-name>columns</tag-name> | <component> | <component-type>org.apache.myfaces.HtmlColumns</component-type> | </component> | </tag> | <tag> | <tag-name>commandButton</tag-name> | <component> | <component-type>org.apache.myfaces.HtmlCommandButton</component-type> | </component> | </tag> | <tag> | <tag-name>commandLink</tag-name> | <component> | <component-type>org.apache.myfaces.HtmlCommandLink</component-type> | <renderer-type>org.apache.myfaces.Link</renderer-type> | </component> | </tag> | <tag> | <tag-name>commandNavigation</tag-name> | <component> | <component-type>org.apache.myfaces.HtmlCommandNavigation</component-type> | <renderer-type>javax.faces.Link</renderer-type> | </component> | </tag> | <tag> | <tag-name>commandSortHeader</tag-name> | <component> | <component-type>org.apache.myfaces.HtmlCommandSortHeader</component-type> | <renderer-type>org.apache.myfaces.SortHeader</renderer-type> | <handler-class>com.skalasoft.facelets.tags.generated.HtmlCommandSortHeaderTagHandler</handler-class> | </component> | </tag> | <tag> | <tag-name>dataList</tag-name> | <component> | <component-type>org.apache.myfaces.HtmlDataList</component-type> | <renderer-type>org.apache.myfaces.List</renderer-type> | <handler-class>com.skalasoft.facelets.tags.generated.HtmlDataListTagHandler</handler-class> | </component> | </tag> | <tag> | <tag-name>dataScroller</tag-name> | <component> | <component-type>org.apache.myfaces.HtmlDataScroller</component-type> | <renderer-type>org.apache.myfaces.DataScroller</renderer-type> | <handler-class>com.skalasoft.facelets.tags.generated.HtmlDataScrollerTagHandler</handler-class> | </component> | </tag> | <tag> | <tag-name>dataTable</tag-name> | <component> | <component-type>org.apache.myfaces.HtmlDataTable</component-type> | <renderer-type>org.apache.myfaces.Table</renderer-type> | <handler-class>com.skalasoft.facelets.tags.generated.HtmlDataTableTagHandler</handler-class> | </component> | </tag> | <tag> | <tag-name>date</tag-name> | <component> | <component-type>org.apache.myfaces.HtmlInputDate</component-type> | <renderer-type>org.apache.myfaces.Date</renderer-type> | </component> | </tag> | <tag> | <tag-name>div</tag-name> | <component> | <component-type>org.apache.myfaces.Div</component-type> | </component> | </tag> | <tag> | <tag-name>graphicImage</tag-name> | <component> | <component-type>org.apache.myfaces.HtmlGraphicImage</component-type> | <renderer-type>org.apache.myfaces.Image</renderer-type> | </component> | </tag> | <tag> | <tag-name>htmlTag</tag-name> | <component> | <component-type>org.apache.myfaces.HtmlTag</component-type> | <renderer-type>org.apache.myfaces.HtmlTagRenderer</renderer-type> | </component> | </tag> | <tag> | <tag-name>inputCalendar</tag-name> | <component> | <component-type>org.apache.myfaces.HtmlInputCalendar</component-type> | <renderer-type>org.apache.myfaces.Calendar</renderer-type> | <handler-class>com.skalasoft.facelets.tags.generated.HtmlInputCalendarTagHandler</handler-class> | </component> | </tag> | <tag> | <tag-name>inputDate</tag-name> | <component> | <component-type>org.apache.myfaces.HtmlInputDate</component-type> | <renderer-type>org.apache.myfaces.Date</renderer-type> | </component> | </tag> | <tag> | <tag-name>inputFileUpload</tag-name> | <component> | <component-type>org.apache.myfaces.HtmlInputFileUpload</component-type> | <renderer-type>org.apache.myfaces.FileUpload</renderer-type> | <handler-class>com.skalasoft.facelets.tags.generated.HtmlInputFileUploadTagHandler</handler-class> | </component> | </tag> | <tag> | <tag-name>inputHidden</tag-name> | <component> | <component-type>org.apache.myfaces.HtmlInputHidden</component-type> | <renderer-type>javax.faces.Hidden</renderer-type> | </component> | </tag> | <tag> | <tag-name>inputHtml</tag-name> | <component> | <component-type>org.apache.myfaces.InputHtml</component-type> | <renderer-type>org.apache.myfaces.InputHtml</renderer-type> | </component> | </tag> | <tag> | <tag-name>inputSecret</tag-name> | <component> | <component-type>org.apache.myfaces.HtmlInputSecret</component-type> | <renderer-type>org.apache.myfaces.Secret</renderer-type> | <handler-class>com.skalasoft.facelets.tags.generated.HtmlInputSecretTagHandler</handler-class> | </component> | </tag> | <tag> | <tag-name>inputText</tag-name> | <component> | <component-type>org.apache.myfaces.HtmlInputText</component-type> | <renderer-type>org.apache.myfaces.Text</renderer-type> | <handler-class>com.skalasoft.facelets.tags.generated.HtmlInputTextTagHandler</handler-class> | </component> | </tag> | <tag> | <tag-name>inputTextarea</tag-name> | <component> | <component-type>org.apache.myfaces.HtmlInputTextarea</component-type> | <renderer-type>org.apache.myfaces.Textarea</renderer-type> | <handler-class>com.skalasoft.facelets.tags.generated.HtmlInputTextareaTagHandler</handler-class> | </component> | </tag> | <tag> | <tag-name>inputTextHelp</tag-name> | <component> | <component-type>org.apache.myfaces.HtmlInputTextHelp</component-type> | <renderer-type>org.apache.myfaces.TextHelp</renderer-type> | <handler-class>com.skalasoft.facelets.tags.generated.HtmlInputTextHelpTagHandler</handler-class> | </component> | </tag> | <tag> | <tag-name>jscookMenu</tag-name> | <component> | <component-type>org.apache.myfaces.JSCookMenu</component-type> | <renderer-type>org.apache.myfaces.JSCookMenu</renderer-type> | </component> | </tag> | <tag> | <tag-name>jsValueChangeListener</tag-name> | <component> | <component-type>org.apache.myfaces.JsValueChangeListener</component-type> | <renderer-type>org.apache.myfaces.JsValueChangeListener</renderer-type> | </component> | </tag> | <tag> | <tag-name>jsValueSet</tag-name> | <component> | <component-type>org.apache.myfaces.HtmlJsValueSet</component-type> | <renderer-type>org.apache.myfaces.JsValueSet</renderer-type> | </component> | </tag> | <tag> | <tag-name>layout</tag-name> | <component> | <component-type>org.apache.myfaces.HtmlPanelLayout</component-type> | <renderer-type>org.apache.myfaces.Layout</renderer-type> | </component> | </tag> | <tag> | <tag-name>message</tag-name> | <component> | <component-type>org.apache.myfaces.HtmlMessage</component-type> | <renderer-type>org.apache.myfaces.Message</renderer-type> | </component> | </tag> | <tag> | <tag-name>messages</tag-name> | <component> | <component-type>org.apache.myfaces.HtmlMessages</component-type> | <renderer-type>org.apache.myfaces.Messages</renderer-type> | </component> | </tag> | <tag> | <tag-name>navigationMenuItem</tag-name> | <component> | <component-type>org.apache.myfaces.NavigationMenuItem</component-type> | <handler-class>com.skalasoft.facelets.tags.generated.HtmlNavigationMenuItemTagHandler</handler-class> | </component> | </tag> | <tag> | <tag-name>navigationMenuItems</tag-name> | <component> | <component-type>org.apache.myfaces.NavigationMenuItem</component-type> | </component> | </tag> | <tag> | <tag-name>newspaperTable</tag-name> | <component> | <component-type>org.apache.myfaces.HtmlNewspaperTable</component-type> | <renderer-type>org.apache.myfaces.HtmlNewspaperTable</renderer-type> | </component> | </tag> | <tag> | <tag-name>panelGrid</tag-name> | <component> | <component-type>org.apache.myfaces.HtmlPanelGrid</component-type> | <renderer-type>javax.faces.Grid</renderer-type> | <handler-class>com.skalasoft.facelets.tags.generated.HtmlPanelGridTagHandler</handler-class> | </component> | </tag> | <tag> | <tag-name>panelGroup</tag-name> | <component> | <component-type>org.apache.myfaces.HtmlPanelGroup</component-type> | <renderer-type>javax.faces.Group</renderer-type> | <handler-class>com.skalasoft.facelets.tags.generated.HtmlPanelGroupTagHandler</handler-class> | </component> | </tag> | <tag> | <tag-name>panelNavigation</tag-name> | <component> | <component-type>org.apache.myfaces.HtmlPanelNavigation</component-type> | <renderer-type>org.apache.myfaces.Navigation</renderer-type> | </component> | </tag> | <tag> | <tag-name>panelStack</tag-name> | <component> | <component-type>org.apache.myfaces.HtmlPanelStack</component-type> | <renderer-type>org.apache.myfaces.PanelStack</renderer-type> | </component> | </tag> | <tag> | <tag-name>panelTab</tag-name> | <component> | <component-type>org.apache.myfaces.HtmlPanelTab</component-type> | <renderer-type>javax.faces.Group</renderer-type> | </component> | </tag> | <tag> | <tag-name>panelTabbedPane</tag-name> | <component> | <component-type>org.apache.myfaces.HtmlPanelTabbedPane</component-type> | <renderer-type>org.apache.myfaces.TabbedPane</renderer-type> | <handler-class>com.skalasoft.facelets.tags.generated.HtmlPanelTabbedPaneTagHandler</handler-class> | </component> | </tag> | <tag> | <tag-name>popup</tag-name> | <component> | <component-type>org.apache.myfaces.HtmlPopup</component-type> | <renderer-type>org.apache.myfaces.Popup</renderer-type> | <handler-class>com.skalasoft.facelets.tags.generated.HtmlPopupTagHandler</handler-class> | </component> | </tag> | <tag> | <tag-name>radio</tag-name> | <component> | <component-type>org.apache.myfaces.HtmlRadio</component-type> | <renderer-type>org.apache.myfaces.Radio</renderer-type> | <handler-class>com.skalasoft.facelets.tags.generated.HtmlRadioTagHandler</handler-class> | </component> | </tag> | <tag> | <tag-name>saveState</tag-name> | <component> | <component-type>org.apache.myfaces.SaveState</component-type> | </component> | </tag> | <tag> | <tag-name>selectBooleanCheckbox</tag-name> | <component> | <component-type>org.apache.myfaces.HtmlSelectBooleanCheckbox</component-type> | <handler-class>com.skalasoft.facelets.tags.generated.HtmlSelectBooleanCheckboxTagHandler</handler-class> | </component> | </tag> | <tag> | <tag-name>selectManyCheckbox</tag-name> | <component> | <component-type>org.apache.myfaces.HtmlSelectManyCheckbox</component-type> | <handler-class>com.skalasoft.facelets.tags.generated.HtmlSelectManyCheckboxTagHandler</handler-class> | </component> | </tag> | <tag> | <tag-name>selectManyListbox</tag-name> | <component> | <component-type>org.apache.myfaces.HtmlSelectManyListbox</component-type> | <handler-class>com.skalasoft.facelets.tags.generated.HtmlSelectManyListboxTagHandler</handler-class> | </component> | </tag> | <tag> | <tag-name>selectManyMenu</tag-name> | <component> | <component-type>org.apache.myfaces.HtmlSelectManyMenu</component-type> | <handler-class>com.skalasoft.facelets.tags.generated.HtmlSelectManyMenuTagHandler</handler-class> | </component> | </tag> | <tag> | <tag-name>selectOneCountry</tag-name> | <component> | <component-type>org.apache.myfaces.SelectOneCountry</component-type> | <renderer-type>org.apache.myfaces.SelectOneCountry</renderer-type> | </component> | </tag> | <tag> | <tag-name>selectOneLanguage</tag-name> | <component> | <component-type>org.apache.myfaces.SelectOneLanguage</component-type> | <renderer-type>org.apache.myfaces.SelectOneLanguage</renderer-type> | </component> | </tag> | <tag> | <tag-name>selectOneListbox</tag-name> | <component> | <component-type>org.apache.myfaces.HtmlSelectOneListbox</component-type> | <handler-class>com.skalasoft.facelets.tags.generated.HtmlSelectOneListboxTagHandler</handler-class> | </component> | </tag> | <tag> | <tag-name>selectOneMenu</tag-name> | <component> | <component-type>org.apache.myfaces.HtmlSelectOneMenu</component-type> | <renderer-type>org.apache.myfaces.Menu</renderer-type> | <handler-class>com.skalasoft.facelets.tags.generated.HtmlSelectOneMenuTagHandler</handler-class> | </component> | </tag> | <tag> | <tag-name>selectOneRadio</tag-name> | <component> | <component-type>org.apache.myfaces.HtmlSelectOneRadio</component-type> | <handler-class>com.skalasoft.facelets.tags.generated.HtmlSelectOneRadioTagHandler</handler-class> | </component> | </tag> | <tag> | <tag-name>stylesheet</tag-name> | <component> | <component-type>org.apache.myfaces.Stylesheet</component-type> | <renderer-type>org.apache.myfaces.Stylesheet</renderer-type> | </component> | </tag> | <tag> | <tag-name>swapImage</tag-name> | <component> | <component-type>org.apache.myfaces.HtmlSwapImage</component-type> | <renderer-type>org.apache.myfaces.SwapImage</renderer-type> | </component> | </tag> | <tag> | <tag-name>tree2</tag-name> | <component> | <component-type>org.apache.myfaces.HtmlTree2</component-type> | <renderer-type>org.apache.myfaces.HtmlTree2</renderer-type> | <handler-class>com.skalasoft.facelets.tags.generated.TreeTagHandler</handler-class> | </component> | </tag> | <tag> | <tag-name>validateCreditCard</tag-name> | <validator> | <validator-id>org.apache.myfaces.validator.CreditCard</validator-id> | </validator> | </tag> | <tag> | <tag-name>validateEmail</tag-name> | <validator> | <validator-id>org.apache.myfaces.validator.Email</validator-id> | </validator> | </tag> | <tag> | <tag-name>validateEqual</tag-name> | <validator> | <validator-id>org.apache.myfaces.validator.Equal</validator-id> | </validator> | </tag> | <tag> | <tag-name>validateRegExpr</tag-name> | <validator> | <validator-id>org.apache.myfaces.validator.RegExpr</validator-id> | </validator> | </tag> | </facelet-taglib> | And then I import Ajax4Jsf into my page with | <html xmlns="http://www.w3.org/1999/xhtml" | xmlns:ui="http://java.sun.com/jsf/facelets" | xmlns:h="http://java.sun.com/jsf/html" | xmlns:f="http://java.sun.com/jsf/core" | xmlns:s="http://jboss.com/products/seam/taglib" | xmlns:a4j="https://ajax4jsf.dev.java.net/ajax" | xmlns:t="http://myfaces.apache.org/tomahawk"> | If you have any more questions feel free to send me an email or ask here for everyones benefit. Cheers Tobias View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=3957651#3957651 Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=3957651 _______________________________________________ jboss-user mailing list jboss-user@lists.jboss.org https://lists.jboss.org/mailman/listinfo/jboss-user