update="@all" is supported in PrimeFaces 3.2, BalusC convinced me to add it.
http://code.google.com/p/primefaces/iss ... il?id=3643
http://balusc.blogspot.com/2012/03/full ... ndler.html
update="@all" not updating browser DOM
-
- Prime
- Posts: 18616
- Joined: 05 Jan 2009, 00:21
- Location: Cybertron
- Contact:
Nice to see support of @all.
BalusC wrote:
But of course, FullAjaxExceptionHandler is a nice thing anyway.
BalusC wrote:
I disagree. In case of error (rare exception case), ExternalContext#redirect() doesn't hurt at all. And storing of error details in a session scoped bean is ok for me because this is only one small session scoped bean which transfers error details into request scope bean and clear its values at the end. Request scoped bean is bound in the error page via preRenderView listener. I can provide an example what I do in case of errors configured via web.xml.In case of successful requests, it does indeed not make any sense. You would as good just send a normal/synchronous request instead of an ajax/asynchronous request. But in case of failed requests it would have been very useful. Of course, you could send a redirect instead by ExternalContext#redirect(), that would work perfectly fine, but you would lose all request attributes, including the error details. It is really not preferable to fiddle with the session scope or maybe even the flash scope to get them to show up in the error page.
But of course, FullAjaxExceptionHandler is a nice thing anyway.
PrimeFaces Cookbook (2. edition): http://ova2.github.io/primefaces-cookbook/ Learning Angular UI Development with PrimeNG: https://github.com/ova2/angular-develop ... th-primeng Blog: https://medium.com/@OlegVaraksin
-
- PrimeFaces Core Developer
- Posts: 3979
- Joined: 03 Dec 2010, 14:11
- Location: Bavaria, DE
- Contact:
I don't even need a session scoped bean. I just create FacesMessages in my ExceptionHandler add doing an redirect.
Thomas Andraschko
PrimeFaces | PrimeFaces Extensions
Apache Member | OpenWebBeans, DeltaSpike, MyFaces, BVal, TomEE
Sponsor me: https://github.com/sponsors/tandraschko
Blog: http://tandraschko.blogspot.de/
Twitter: https://twitter.com/TAndraschko
PrimeFaces | PrimeFaces Extensions
Apache Member | OpenWebBeans, DeltaSpike, MyFaces, BVal, TomEE
Sponsor me: https://github.com/sponsors/tandraschko
Blog: http://tandraschko.blogspot.de/
Twitter: https://twitter.com/TAndraschko
Thomas, yes, sure. But exception details get lost with redirect.
PrimeFaces Cookbook (2. edition): http://ova2.github.io/primefaces-cookbook/ Learning Angular UI Development with PrimeNG: https://github.com/ova2/angular-develop ... th-primeng Blog: https://medium.com/@OlegVaraksin
-
- PrimeFaces Core Developer
- Posts: 3979
- Joined: 03 Dec 2010, 14:11
- Location: Bavaria, DE
- Contact:
What details? request attributes or so?
I add the stacktrace as FacesMessage and display it only if ProjectStage == dev.
I add the stacktrace as FacesMessage and display it only if ProjectStage == dev.
Thomas Andraschko
PrimeFaces | PrimeFaces Extensions
Apache Member | OpenWebBeans, DeltaSpike, MyFaces, BVal, TomEE
Sponsor me: https://github.com/sponsors/tandraschko
Blog: http://tandraschko.blogspot.de/
Twitter: https://twitter.com/TAndraschko
PrimeFaces | PrimeFaces Extensions
Apache Member | OpenWebBeans, DeltaSpike, MyFaces, BVal, TomEE
Sponsor me: https://github.com/sponsors/tandraschko
Blog: http://tandraschko.blogspot.de/
Twitter: https://twitter.com/TAndraschko
Does FacesMessage survive redirect? In the standard JSF not. There are solutions like this one http://ocpsoft.org/java/persist-and-pas ... redirects/ Do you use something like?
PrimeFaces Cookbook (2. edition): http://ova2.github.io/primefaces-cookbook/ Learning Angular UI Development with PrimeNG: https://github.com/ova2/angular-develop ... th-primeng Blog: https://medium.com/@OlegVaraksin
Great job!optimus.prime wrote:update="@all" is supported in PrimeFaces 3.2, BalusC convinced me to add it.
http://code.google.com/p/primefaces/iss ... il?id=3643
It may not hurt, but I consider it be a "workaround" instead of a "solution". Why would you do it the hard way if it can be done simple?Oleg wrote:Nice to see support of @all.
I disagree. In case of error (rare exception case), ExternalContext#redirect() doesn't hurt at all. And storing of error details in a session scoped bean is ok for me because this is only one small session scoped bean which transfers error details into request scope bean and clear its values at the end. Request scoped bean is bound in the error page via preRenderView listener. I can provide an example what I do in case of errors configured via web.xml.
They do indeed by default not survive redirects. Therefor the Flash scope should be used. There's a Flash#setKeepMessages() method which does that. However this has in turn bugs/oddities in Mojarra. With the current latest release 2.1.7, if the redirect changes the path, then the faces message won't be displayed until you go back to some page in the same path as from where the redirect is been sent.Oleg wrote:Does FacesMessage survive redirect? In the standard JSF not. There are solutions like this one http://ocpsoft.org/java/persist-and-pas ... redirects/ Do you use something like?
-
- Posts: 9
- Joined: 20 Jan 2012, 12:44
Wow, thanks for integrating this feature and thanks to all for discussing it!
Coming from a commercial JSF library I find it very refreshing that features are added because of rational arguments instead of marketing/money/boss escalation. I have to re-learn being part of a community.
Coming from a commercial JSF library I find it very refreshing that features are added because of rational arguments instead of marketing/money/boss escalation. I have to re-learn being part of a community.
-
- Prime
- Posts: 18616
- Joined: 05 Jan 2009, 00:21
- Location: Cybertron
- Contact:
Welcome to PrimeFaces Community!
Hi!
Congratulations to everyone for these great components!
I have a problem though with this Exception Handler proposed by BalusC and Primefaces.
I have the latest Primefaces 3.2 build with mojarra 2.1.7 running on Tomcat 7.
The problem is this:
I have a template page with a menubar and a SelectOneMenu (error.xhtml uses that template).
I have defined the Exception Handler Factory and everything works fine in chrome and firefox
but in ie8 after the error page is rendered PrimeFaces controls don't work. In the error console i can see that 'Primefaces' is undefined.
Then as i am viewing error.xhtml if i hit F5 the error.xhtml is displayed again and this time everyhting works perfectly!
I had a similar problem with another page that was using forward to display another page and i remembered i solved it by redirecting instead (again only in ie8).
So is the render="@all" attribute that was inserted in 3.2 not working well with ie8? Is it something else?
Any help would be appreciated!!
Thanks!
edit: i also forgot to mention that i already have the resource servlet in web.xml like this
Congratulations to everyone for these great components!
I have a problem though with this Exception Handler proposed by BalusC and Primefaces.
I have the latest Primefaces 3.2 build with mojarra 2.1.7 running on Tomcat 7.
The problem is this:
I have a template page with a menubar and a SelectOneMenu (error.xhtml uses that template).
I have defined the Exception Handler Factory and everything works fine in chrome and firefox
but in ie8 after the error page is rendered PrimeFaces controls don't work. In the error console i can see that 'Primefaces' is undefined.
Then as i am viewing error.xhtml if i hit F5 the error.xhtml is displayed again and this time everyhting works perfectly!
I had a similar problem with another page that was using forward to display another page and i remembered i solved it by redirecting instead (again only in ie8).
So is the render="@all" attribute that was inserted in 3.2 not working well with ie8? Is it something else?
Any help would be appreciated!!
Thanks!
edit: i also forgot to mention that i already have the resource servlet in web.xml like this
Code: Select all
<servlet>
<servlet-name>Resource Servlet</servlet-name>
<servlet-class>org.primefaces.resource.ResourceServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>Resource Servlet</servlet-name>
<url-pattern>/primefaces_resource/*</url-pattern>
</servlet-mapping>
<context-param>
<param-name>com.sun.faces.allowTextChildren</param-name>
<param-value>true</param-value>
</context-param>
Primefaces 3.4
Mojarra 2.1.11
Shiro 1.2
Omnifaces 1.1
PF Extensions 0.5
Mojarra 2.1.11
Shiro 1.2
Omnifaces 1.1
PF Extensions 0.5