Hello Andrew,

the problem below is already fixed in the up-coming release, which I used to
verify this.

Let's merge your branch to trunk and work on it to get these other (minor)
things fixed.

On Tue, Apr 20, 2010 at 6:09 PM, Andrew Robinson
<andrew.rw.robin...@gmail.com> wrote:
> 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
>>
>>
>



-- 
Matthias Wessendorf

blog: http://matthiaswessendorf.wordpress.com/
sessions: http://www.slideshare.net/mwessendorf
twitter: http://twitter.com/mwessendorf

Reply via email to