myfaces-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Travis Alexander" <codohu...@gmail.com>
Subject MyFaces Facelets Tomahawk Panel Tab Woes
Date Thu, 06 Apr 2006 19:54:40 GMT
Hello,

I am trying to get the tomahawk tab component working in a myfaces
project with facelets, I have it mostly working but I need access to
the attribute enabledOnUserRole, but as you can see from the third
warning below (I tried it with and without the fully qualified
attribute name), that attribute isn't exposed(it works fine without
facelets), I followed the directions here:

http://wiki.apache.org/myfaces/Use_Facelets_with_Tomahawk

and that made the tabs work with facelets, but not that attribute. I
suspect that I need to implement a custom renderer to expose this
attribute, but I'm pretty new to JSF and Facelets, can anybody give me
some direction?

A little more background info, I'm using exadel studio and I started a
RI with facelets kickstart project, I then swapped out RI with
MyFaces, and then added tomahawk, setup the tomahawk tag lib xml file,
added some tabs to the greeting page, everything works fine except
when I try to access the enabledOnUserRole property I get the 3rd
warning below. The tabs render and work fine but I need that
attribute, or some other way to disable but not  hide the tab.

************************************************************************************
warnings
************************************************************************************

Apr 6, 2006 1:24:11 PM com.sun.facelets.tag.jsf.ComponentRule warnAttr
WARNING: /pages/inputname.xhtml @17,40 method="get" Property 'method'
is not on type: javax.faces.component.html.HtmlForm

Apr 6, 2006 1:24:11 PM com.sun.facelets.tag.jsf.ComponentRule warnAttr
WARNING: /pages/inputname.xhtml @19,83 type="text" Property 'type' is
not on type: javax.faces.component.html.HtmlInputText

Apr 6, 2006 1:26:28 PM com.sun.facelets.tag.jsf.ComponentRule warnAttr
WARNING: /pages/greeting.xhtml @23,110
org.apache.myfaces.custom.panelTab.enabledOnUserRole="NOROLE" Property
'org.apache.myfaces.custom.panelTab.enabledOnUserRole' is not on type:
org.apache.myfaces.custom.tabbedpane.HtmlPanelTab

******************************************************************************
The actual tab calls
******************************************************************************

				<t:panelTabbedPane selectedIndex="0" >
				<!-- t:tabChangeListener type="demo.TabChandedListenr"/ -->
					<t:panelTab label="tab0" rendered="true" >
						<f:subview id="tab0view" >
							<h:form>
								test	0<br />
							</h:form>
						</f:subview>		
					</t:panelTab>
					<t:panelTab label="tab1" rendered="true"
org.apache.myfaces.custom.panelTab.enabledOnUserRole="NOROLE" >
						<f:subview id="tab1view">
							<h:form>	
								test	1<br />
							</h:form>				
						</f:subview>   		   	
					</t:panelTab>
					<t:panelTab label="tab2" rendered="true" >
						<f:subview id="tab1view">
							<h:form>	
								test	2<br />
							</h:form>				
						</f:subview>   		   	
					</t:panelTab>
					<t:panelTab label="tab3" rendered="true" >
						<f:subview id="tab1view">
							<h:form>	
								test	3<br />
							</h:form>				
						</f:subview>   		   	
					</t:panelTab>
					<t:panelTab label="tab4" rendered="true" >
						<f:subview id="tab1view">
							<h:form>	
								test	4<br />
							</h:form>				
						</f:subview>   		   	
					</t:panelTab>
					<t:panelTab label="tab5" rendered="true" >
						<f:subview id="tab1view">
							<h:form>	
								test	5<br />
							</h:form>				
						</f:subview>   		   	
					</t:panelTab>
				</t:panelTabbedPane>

*******************************************************************************
here are the relevant part of the tomahawk.taglib.xml file:
********************************************************************************
<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>
        </component>
    </tag>

******************************************************************************
my web.xml
******************************************************************************

<?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">
  <description>Facelets StarterKit</description>
  <display-name>MyFacesFacelets</display-name>
 <context-param>
  <param-name>javax.faces.DEFAULT_SUFFIX</param-name>
  <param-value>.xhtml</param-value>
 </context-param>
 <context-param>
  <param-name>facelets.REFRESH_PERIOD</param-name>
  <param-value>2</param-value>
 </context-param>
 <context-param>
  <param-name>facelets.DEVELOPMENT</param-name>
  <param-value>true</param-value>
 </context-param>
 <context-param>
  <param-name>javax.faces.STATE_SAVING_METHOD</param-name>
  <param-value>client</param-value>
 </context-param>
 <context-param>
  <param-name>com.sun.faces.validateXml</param-name>
  <param-value>true</param-value>
 </context-param>
 <context-param>
  <param-name>com.sun.faces.verifyObjects</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>

 <filter>
        <filter-name>extensionsFilter</filter-name>
        <filter-class>
                org.apache.myfaces.component.html.util.ExtensionsFilter
        </filter-class>
        <init-param>
                <description>
                        Set the size limit for uploaded files. Format: 10 - 10
                        bytes 10k - 10 KB 10m - 10 MB 1g - 1 GB
                </description>
                <param-name>uploadMaxFileSize</param-name>
                <param-value>100m</param-value>

        </init-param>
        <init-param>
                <description>
                        Set the threshold size - files below this limit are
                        stored in memory, files above this limit are stored on
                        disk.

                        Format: 10 - 10 bytes 10k - 10 KB 10m - 10 MB 1g - 1 GB
                </description>
                <param-name>uploadThresholdSize</param-name>
                <param-value>100k</param-value>

        </init-param>
</filter>

<filter-mapping>
   <filter-name>extensionsFilter</filter-name>
   <url-pattern>/faces/*</url-pattern>
</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>
<servlet>
  <servlet-name>Faces Servlet</servlet-name>
  <servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
  <load-on-startup>1</load-on-startup>
 </servlet>
<servlet-mapping>
  <servlet-name>Faces Servlet</servlet-name>
  <url-pattern>/faces/*</url-pattern>
</servlet-mapping>
</web-app>


********************************************************************************
and my faces-config.xml
********************************************************************************

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE faces-config PUBLIC "-//Sun Microsystems, Inc.//DTD
JavaServer Faces Config 1.1//EN"
                              "http://java.sun.com/dtd/web-facesconfig_1_1.dtd">
<faces-config>
 <managed-bean>
  <managed-bean-name>person</managed-bean-name>
  <managed-bean-class>demo.Person</managed-bean-class>
  <managed-bean-scope>request</managed-bean-scope>
  <managed-property>
   <property-name>name</property-name>
   <value/>
  </managed-property>
 </managed-bean>
 <navigation-rule>
  <from-view-id>/pages/inputname.xhtml</from-view-id>
  <navigation-case>
   <from-outcome>greeting</from-outcome>
   <to-view-id>/pages/greeting.xhtml</to-view-id>
  </navigation-case>
 </navigation-rule>
 <application>
  <view-handler>com.sun.facelets.FaceletViewHandler</view-handler>
  <locale-config>
   <default-locale>en</default-locale>
   <supported-locale>en</supported-locale>
   <supported-locale>fr</supported-locale>
  </locale-config>
 </application>
</faces-config>

*************************************************************************************

     Travis

Mime
View raw message