You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@myfaces.apache.org by Mick Knutson <mi...@gmail.com> on 2007/02/09 23:14:27 UTC

facelets components

I am trying to create a user HTML for that is re-used by several other
pages.

So I have a layout.xhtml that has:

        <ui:insert name="content">
            <div>
                <ui:include src="/tro/views/common/blank.jsf" />
            </div>
        </ui:insert>

Then my registration.xhtml has:

    <ui:define name="content">
        <bl:user/>
    </ui:define>


Then my user.xhtml has:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
        "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<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:t="http://myfaces.apache.org/tomahawk"
      xmlns:f="http://java.sun.com/jsf/core"
      xmlns:c="http://java.sun.com/jsp/jstl/core"
      xmlns:bl="http://baselogic.com/jsf/facelets"
        >
<ui:component binding="#{userBackingBean}">

<h:form id="userForm">
<table width="100%" border="0" cellspacing="2" cellpadding="1">
<tr>
    <th colspan="4" bgcolor="#FFCC00">
        <div align="left">Registration Information</div>
    </th>
    <td>
        <bl:nbsp/>
    </td>
</tr>
<tr>
    <td>
        <div align="right"><label for="username">Username:</label></div>
    </td>
    <td>
        <h:inputText value="#{userBackingBean.user.username}"
                     size="30"
                     required="true"
                     id="username">
            <f:validateLength minimum="2"/>
        </h:inputText>
        <h:message for="username"
                   errorClass="error"/>
    </td>


But when I run this and call registration.xhtml I get the following error:

SEVERE: Error Rendering View
javax.faces.FacesException: Could not retrieve value of component with path
: {Component-Path : [Class: javax.faces.component.UIViewRoot,ViewId:
/views/reg
istration/registration.xhtml][Class: com.sun.facelets.tag.ui.ComponentRef,Id:
_id2][Class: javax.faces.component.html.HtmlForm,Id: userForm][Class:
javax.f
aces.component.html.HtmlInputText,Id: username]}
        at
org.apache.myfaces.shared_impl.renderkit.RendererUtils.getStringValue(
RendererUtils.java:226)
        at
org.apache.myfaces.shared_impl.renderkit.html.HtmlTextRendererBase.renderInput
(HtmlTextRendererBase.java:135)
        at
org.apache.myfaces.shared_impl.renderkit.html.HtmlTextRendererBase.encodeEnd
(HtmlTextRendererBase.java:53)
        at javax.faces.component.UIComponentBase.encodeEnd(
UIComponentBase.java:539)
        at com.sun.facelets.FaceletViewHandler.encodeRecursive(
FaceletViewHandler.java:554)
        at com.sun.facelets.FaceletViewHandler.encodeRecursive(
FaceletViewHandler.java:551)
        at com.sun.facelets.FaceletViewHandler.encodeRecursive(
FaceletViewHandler.java:551)
        at com.sun.facelets.FaceletViewHandler.encodeRecursive(
FaceletViewHandler.java:551)
        at com.sun.facelets.FaceletViewHandler.renderView(
FaceletViewHandler.java:457)
        at org.apache.myfaces.lifecycle.RenderResponseExecutor.execute(
RenderResponseExecutor.java:41)
        at org.apache.myfaces.lifecycle.LifecycleImpl.render(
LifecycleImpl.java:132)
        at javax.faces.webapp.FacesServlet.service(FacesServlet.java:140)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(
ApplicationFilterChain.java:252)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(
ApplicationFilterChain.java:173)
        at org.apache.myfaces.webapp.filter.ExtensionsFilter.doFilter(
ExtensionsFilter.java:147)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(
ApplicationFilterChain.java:202)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(
ApplicationFilterChain.java:173)
        at
org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(
FilterChainProxy.java:264)
        at org.acegisecurity.intercept.web.FilterSecurityInterceptor.invoke(
FilterSecurityInterceptor.java:107)
        at
org.acegisecurity.intercept.web.FilterSecurityInterceptor.doFilter(
FilterSecurityInterceptor.java:72)
        at
org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(
FilterChainProxy.java:274)
        at org.acegisecurity.ui.ExceptionTranslationFilter.doFilter(
ExceptionTranslationFilter.java:110)
        at
org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(
FilterChainProxy.java:274)
        at org.acegisecurity.ui.AbstractProcessingFilter.doFilter(
AbstractProcessingFilter.java:217)
        at
org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(
FilterChainProxy.java:274)
        at
org.acegisecurity.context.HttpSessionContextIntegrationFilter.doFilter(
HttpSessionContextIntegrationFilter.java:229)
        at
org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(
FilterChainProxy.java:274)
        at org.acegisecurity.util.FilterChainProxy.doFilter(
FilterChainProxy.java:148)
        at org.acegisecurity.util.FilterToBeanProxy.doFilter(
FilterToBeanProxy.java:98)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(
ApplicationFilterChain.java:202)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(
ApplicationFilterChain.java:173)
        at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(
ReplyHeaderFilter.java:96)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(
ApplicationFilterChain.java:202)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(
ApplicationFilterChain.java:173)
        at org.apache.catalina.core.StandardWrapperValve.invoke(
StandardWrapperValve.java:213)
        at org.apache.catalina.core.StandardContextValve.invoke(
StandardContextValve.java:178)
        at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(
SecurityAssociationValve.java:175)
        at org.jboss.web.tomcat.security.JaccContextValve.invoke(
JaccContextValve.java:74)
        at org.apache.catalina.core.StandardHostValve.invoke(
StandardHostValve.java:126)
        at org.apache.catalina.valves.ErrorReportValve.invoke(
ErrorReportValve.java:105)
        at org.apache.catalina.core.StandardEngineValve.invoke(
StandardEngineValve.java:107)
        at org.apache.catalina.connector.CoyoteAdapter.service(
CoyoteAdapter.java:148)
        at org.apache.coyote.http11.Http11Processor.process(
Http11Processor.java:869)
        at
org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection
(Http11BaseProtocol.java:664)
        at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(
PoolTcpEndpoint.java:527)
        at org.apache.tomcat.util.net.MasterSlaveWorkerThread.run(
MasterSlaveWorkerThread.java:112)
        at java.lang.Thread.run(Thread.java:595)
Caused by: javax.faces.el.PropertyNotFoundException:
/WEB-INF/facelets/tags/user.xhtml @46,36 value="#{
userBackingBean.user.username}": Bean: com.sun.facel
ets.tag.ui.ComponentRef, property: user
        at com.sun.facelets.el.LegacyValueBinding.getValue(
LegacyValueBinding.java:58)
        at javax.faces.component.UIOutput.getValue(UIOutput.java:80)
        at
org.apache.myfaces.shared_impl.renderkit.RendererUtils.getStringValue(
RendererUtils.java:222)
        ... 46 more
13:11:17,676 ERROR [STDERR] Feb 9, 2007 1:11:17 PM
com.sun.facelets.FaceletViewHandler handleRenderException



When the userForm is inside the registration.xhtml, it works fine





-- 
---
Thanks,
Mick Knutson

http://www.baselogic.com
http://www.blincmagazine.com
http://www.djmick.com
http://www.myspace.com/djmick_dot_com
http://www.thumpradio.com
---