Hi Gerhard,
before I applied your provided code, I debugged and set a breakpoint at the
root of my exception and I found:
The exception has it's origin one line above.
DefaultELHelper.java:201
ValueBindingExpression valueBindingExpression =
getValueBindingExpression(uiComponent, false);
getValueBindingExpression(uiComponent, false) returns null
here are two variables:
valueBindingExpression null
facesContext FacesContextImpl (id=196)
application ApplicationImpl (id=216)
componentMessageLists null
elContext ELContextImpl (id=219)
externalContext ExternalContextImpl (id=222)
lastRk ExtValRenderKit (id=225)
lastRkId "HTML_BASIC" (id=228)
released false
renderResponse true
responseComplete false
responseStream null
responseWriter HtmlResponseWriter (id=229)
rkFactory ExtValRenderKitFactory (id=236)
viewRoot UIViewRoot (id=182)
afterPhase null
attributes UIComponentBase$AttributesMap (id=239)
attributesThatAreSet ArrayList<E> (id=240)
beforeMethodException false
beforePhase null
bindings null
children UIComponentBase$ChildrenList (id=241)
clientId null
events null
facets null
id "j_id_jsp_333505498_0" (id=243)
isUIComponentBase true
isUIComponentBaseIsSet false
lastId 20
listeners null
locale Locale (id=244)
parent null
pdMap HashMap<K,V> (id=246)
phaseListenerIterator null
phaseListeners null
rendered true
renderedSet false
rendererType null
renderKitId "HTML_BASIC" (id=228)
skipPhase false
transientFlag false
values null
values null
viewId "/myapp/templates/Layout.jsp" (id=247)
Then I applied your code into the StartupListener and the application opens
the requested resource (jsp/jsf file) but further actions on this resource
(like a login button) result in another exception. BTW, I have another
resource, a contact page, that also displays only if a cleaned tomcat is
started twice. This contact site doesn't display any uicomponents in
contrast to the jsp-resource I mentioned before (the one with login button,
let's call it login-page) with the applied code in the StartupListener.
This other exception (by pressing the login button on login-page) starts
with:
JSF1054: (Phase ID: PROCESS_VALIDATIONS 3, View ID:
/myapp/templates/Layout.jsp) Exception thrown during phase execution:
javax.faces.event.phaseevent[source=com.sun.faces.lifecycle.lifecyclei...@17a1686]
10.07.2009 12:44:59 org.apache.catalina.core.ApplicationDispatcher invoke
Do you want the stack trace of this one too?
If there are variable' values I could attach of the original or the actual
exception cause, please tell me.
Thanks,
Belem
Gerhard Petracek wrote:
>
> hi belem,
>
> that might be the problem. extval initializes input components with
> metadata
> of the bound property before the component is rendered
> (to provide different features). so extval has to inspect the property of
> every input component. it seems that this isn't compatible with your
> custom
> mechanism.
> you can test it with a custom impl. - use the following code in your
> startup-listener.
>
> protected void init()
> {
> //workaround to allow forced double-rendering used in icefaces
>
> ExtValContext.getContext().addGlobalProperty(ExtValRendererProxy.KEY,
> null);
>
> //deregister the default implementation
>
> ExtValContext.getContext().denyRendererInterceptor(ValidationInterceptorWithSkipValidationSupport.class);
>
> //register a custom implementation without component
> initialization
> ExtValContext.getContext().registerRendererInterceptor(new
> ValidationInterceptorWithSkipValidationSupport() {
> @Override
> public void beforeEncodeBegin(FacesContext facesContext,
> UIComponent uiComponent, Renderer wrapped)
> throws IOException, SkipBeforeInterceptorsException,
> SkipRendererDelegationException
> {
> //do nothing
> }
> });
> }
>
> regards,
> gerhard
>
--
View this message in context:
http://www.nabble.com/exception-with-extval---JSF1054-RENDER_RESPONSE-6-tp24409424p24425393.html
Sent from the MyFaces - Users mailing list archive at Nabble.com.