[jboss-user] [JBoss Seam] - Re: Ajax¤JSF with Seam

tobad do-not-reply at jboss.com
Thu Jul 13 04:21:05 EDT 2006


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



More information about the jboss-user mailing list