Werner, sorry for the short reply on that email, the "tone" probably
sounded bad. There are state saving problems when using MyFaces.
Unfortunately it is bad enough to make it completely non-functional as
all PPR post backs fail to restore the state from what I have seen. We
have no such errors when using Mojarra.

@Matthias or Max: did one of you guys already file a bug on the
MyFaces Core for this or do we still need to?


To reproduce:
1) Get a working copy of the jsf2_ajax.3 Trinidad Branch:
https://svn.apache.org/repos/asf/myfaces/trinidad/branches/jsf2_ajax.3
2) Run the demo project using Jetty (mvn jetty:run -PjettyConfig)
3) Hit the page:
http://localhost:8080/trinidad-demo/faces/demos/ajaxPPRDemos.xhtml
4) Click on one of the buttons at the top (Full Submit button is fine)

This error results:
SEVERE: An exception occurred
javax.faces.application.ViewExpiredException:
/demos/ajaxPPRDemos.xhtmlNo saved view state could be found for the
view identifier: /demos/ajaxPPRDemos.xhtml
        at 
org.apache.myfaces.lifecycle.RestoreViewExecutor.execute(RestoreViewExecutor.java:114)
        at 
org.apache.myfaces.lifecycle.LifecycleImpl.executePhase(LifecycleImpl.java:138)
        at 
org.apache.myfaces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:88)
        at javax.faces.webapp.FacesServlet.service(FacesServlet.java:189)
        at 
org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:511)
        at 
org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1166)
        at 
org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl._doFilterImpl(TrinidadFilterImpl.java:247)
        at 
org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl.doFilter(TrinidadFilterImpl.java:157)
        at 
org.apache.myfaces.trinidad.webapp.TrinidadFilter.doFilter(TrinidadFilter.java:92)
        at 
org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157)
        at 
org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:388)
        at 
org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216)
        at 
org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:182)
        at 
org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:765)
        at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:418)
        at 
org.mortbay.jetty.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:230)
        at 
org.mortbay.jetty.handler.HandlerCollection.handle(HandlerCollection.java:114)
        at 
org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152)
        at org.mortbay.jetty.Server.handle(Server.java:326)
        at 
org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:536)
        at 
org.mortbay.jetty.HttpConnection$RequestHandler.content(HttpConnection.java:930)
        at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:747)
        at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:218)
        at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:405)
        at 
org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:409)
        at 
org.mortbay.thread.QueuedThreadPool$PoolThread.run(QueuedThreadPool.java:582)

Form Data sent:
itxt1:Change this text2
sf20%3Aitxt2:Change this text2
it1:
org.apache.myfaces.trinidad.faces.FORM:j_id933005119_379c87b2
_noJavaScript:false
javax.faces.ViewState:!yabr3gltb
:
javax.faces.behavior.event:action
javax.faces.partial.event:click
javax.faces.source:axBtn2
javax.faces.partial.ajax:true
javax.faces.partial.execute:axBtn2
javax.faces.partial.render:btnTarget

Request Headers:
Content-Type:application/x-www-form-urlencoded
Faces-Request:partial/ajax
Origin:http://localhost:8080
Referer:http://localhost:8080/trinidad-demo/faces/demos/ajaxPPRDemos.xhtml
User-Agent:Mozilla/5.0 (X11; U; Linux x86_64; en-US) AppleWebKit/533.2
(KHTML, like Gecko) Chrome/5.0.342.9 Safari/533.2

On Tue, Apr 20, 2010 at 9:37 AM, Werner Punz <werner.p...@gmail.com> wrote:
> Am 20.04.10 17:00, schrieb Andrew Robinson:
>>
>> Also, are you using JSF RI? MyFaces is known to be bad with Ajax.
>
> Ouch that hit me personally, because I and others spent a load of hours to
> make
> the our javascripts as good as possible as the spec allowed (with the help
> of some others).
>
> Actually if you have run into any errors or problems regarding the Ajax part
> (which caused your conclusion), please post them to the jira under our impl
> section, so that we can fix it :-), just saying bad with ajax is no help
> here :-), we would like to have the best ajax implementation of both
> implementations (better than the RI, so any bugreport is welcome). But no
> offence taken, back to the topic.
>
> But back to the original problem, the first link (Go to Trinidad demos home
> page.) issue following xhr post:
>
>
>
> Tr-PPR-Message  true
> _noJavaScript   false
> event   autosub
> itxt    Change this text
> j_id1078059021_4041e82d
> javax.faces.ViewState   !h19u5lcmm
> javax.faces.ViewState   !h19u5lcmm
> javax.faces.partial.ajax        true
> javax.faces.partial.event       click
> javax.faces.partial.execu...    null
> javax.faces.source      null
> org.apache.myfaces.trinid...    j_id1078059021_4041e08f
> partial true
> selOne  0
> source  j_id1078059021_4041e6c3
>
> and the response is following:
>
>
> <?xml version="1.0" ?>
> <partial-response><changes><update
> id="tr_j_id1078059021_4041e08f_Postscript"><![CDATA[<span
> id="tr_j_id1078059021_4041e08f_Postscript"><input type="hidden"
> name="source"><script
> type="text/javascript">TrPage.getInstance()._addResetFields('j_id1078059021_4041e08f',["source"]);</script><script
> type="text/javascript">var
> j_id1078059021_4041e08f_SF={};</script></span>]]></update><update
> id="javax.faces.ViewState"><![CDATA[!h19u5lcmm]]></update><eval><![CDATA[TrPage.getInstance().__handlePprResponseAction('/trinidad-demo/faces/demos/pprDemos.jspx');]]></eval></changes></partial-response>
>
> Not sure what the eval
> TrPage.getInstance().__handlePprResponseAction('/trinidad-demo/faces/demos/pprDemos.jspx');
>  in this case triggers, it should trigger a go to the homepage.
>
>
> Werner
>
>

Reply via email to