You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@myfaces.apache.org by Marcus Büttner <bu...@gmail.com> on 2012/11/13 17:50:28 UTC

Non existing views are rendered and throw an exception instead of 404 with myfaces 2.1.9

What happens with views which not exists in myfaces 2.1.9?

I get the following Exception:

org.apache.myfaces.renderkit.ServerSideStateCacheImpl$CounterSessionViewStorageFactory.createSerializedViewKey(ServerSideStateCacheImpl.java:1413)
org.apache.myfaces.renderkit.ServerSideStateCacheImpl$CounterSessionViewStorageFactory.createSerializedViewKey(ServerSideStateCacheImpl.java:1392)
org.apache.myfaces.renderkit.ServerSideStateCacheImpl.saveSerializedViewInServletSession(ServerSideStateCacheImpl.java:318)
org.apache.myfaces.renderkit.ServerSideStateCacheImpl.saveSerializedView(ServerSideStateCacheImpl.java:1036)
org.apache.myfaces.renderkit.html.HtmlResponseStateManager.saveState(HtmlResponseStateManager.java:149)
org.apache.myfaces.application.StateManagerImpl.saveView(StateManagerImpl.java:253)
org.apache.myfaces.shared.view.JspViewDeclarationLanguageBase.renderView(JspViewDeclarationLanguageBase.java:221)


The question is, why a view which not exists is rendered. In MyFaces 2.1.8
there is the same behavior but there the viewId is not taken for
calculating some keys.

In JspViewDeclarationLanguage#buildView the calculated viewId which is null
is taken to do a externalContext.dispatch(viewId). This dispatch returns an
error with status 404. Than it's called:
wrappedResponse.flushToWrappedResponse();

Mojarra does after that a responseComplete, MyFaces does not.
Could that be the problem?

regards
Marcus Büttner

Re: Non existing views are rendered and throw an exception instead of 404 with myfaces 2.1.9

Posted by Mark Struberg <st...@yahoo.de>.

Hi!

Please add your findings to https://issues.apache.org/jira/browse/MYFACES-3638

txs and LieGrue,
strub




>________________________________
> From: Marcus Büttner <bu...@gmail.com>
>To: MyFaces Discussion <us...@myfaces.apache.org> 
>Sent: Tuesday, November 13, 2012 5:50 PM
>Subject: Non existing views are rendered and throw an exception instead of 404 with myfaces 2.1.9
> 
>What happens with views which not exists in myfaces 2.1.9?
>
>I get the following Exception:
>
>org.apache.myfaces.renderkit.ServerSideStateCacheImpl$CounterSessionViewStorageFactory.createSerializedViewKey(ServerSideStateCacheImpl.java:1413)
>org.apache.myfaces.renderkit.ServerSideStateCacheImpl$CounterSessionViewStorageFactory.createSerializedViewKey(ServerSideStateCacheImpl.java:1392)
>org.apache.myfaces.renderkit.ServerSideStateCacheImpl.saveSerializedViewInServletSession(ServerSideStateCacheImpl.java:318)
>org.apache.myfaces.renderkit.ServerSideStateCacheImpl.saveSerializedView(ServerSideStateCacheImpl.java:1036)
>org.apache.myfaces.renderkit.html.HtmlResponseStateManager.saveState(HtmlResponseStateManager.java:149)
>org.apache.myfaces.application.StateManagerImpl.saveView(StateManagerImpl.java:253)
>org.apache.myfaces.shared.view.JspViewDeclarationLanguageBase.renderView(JspViewDeclarationLanguageBase.java:221)
>
>
>The question is, why a view which not exists is rendered. In MyFaces 2.1.8
>there is the same behavior but there the viewId is not taken for
>calculating some keys.
>
>In JspViewDeclarationLanguage#buildView the calculated viewId which is null
>is taken to do a externalContext.dispatch(viewId). This dispatch returns an
>error with status 404. Than it's called:
>wrappedResponse.flushToWrappedResponse();
>
>Mojarra does after that a responseComplete, MyFaces does not.
>Could that be the problem?
>
>regards
>Marcus Büttner
>
>
>