We have a old web application which is using JSF 1.1.
We now need to upgrade the JSF version from 1.1 to JSF 1.2. How much effort is required for this?
What are the changes needs to be done in the application?
Related
I have a problem with WebSphere 6.1 and Primefaces. I have created an application, but used a local Tomcat appserver for testing. Everything was working fine, until I tried to deploy it on WAS 6.1.
After investigating the internal server problem, I saw, that WAS 6.1 only supports JSF 1.1, so I can throw out the whole interface :S
My question is, what is the best and most importantly, the fastest solution for this:
my interface is very simple, only panels, commandbuttons, a menu and a printer component. Is it possible to go back to a previous version of primefaces that supports jsf 1.1 keeping most of the code? (as I read, primefaces 1.1 is the last, which is far away from 3.5 )
use another faces implementation, if yes which one is the easiest to switch to from primefaces
can WAS 6.1 be made somehow compatible with JSF 2?
any other way
It's possible if you drop the necessary JSF 2.0/2.1 + PrimeFaces 3.5 JARs in webapp's /WEB-INF/lib and set in WebSphere admin the classloader policy to PARENT_LAST on both the EAR and WAR. This will force WebSphere to load webapp-bundled JSF instead of its own bundled JSF.
We have legacy application which uses Jboss seam 1.1. Now we need to move to jboss seam 2.0 as we are moving the app from JSF 1.1 to JSF 1.2 (seam 1.1 supports JSF 1.1 and seam 2.0 supports JSF 1.2).
What are the steps required to do this migration? I looked into their docs and on the net but couldn't find anything which explains this migration.
See "Chapter 4. Migrating from Seam 1.2 to Seam 2" and "Chapter 2. Migration" in the Seam Reference Guide.
Does "Tomahawk for JSF 2.0" works for JSF 2.1 / MyFaces Core 2.1 ?
If not, a new release "Tomahawk for JSF 2.1" is expected/announced anytime soon ?
If not, will there be any downside using "Tomahawk for JSF 2.0" and JSF 2.0 / MyFaces Core 2.0
I am upgrading from MyFaces 1.2.6 + Facelets 1.1.15-jsf1.2 (using lots of templates)
Thanks very much in advance.
Regards,
Kumar.
Yes, Tomahawk for JSF 2.0 will work just fine for JSF 2.1. We also use it in production.
JSF 2.1 is not a specification change, but merely a maintenance release. JSF 1.2 -> 2.0 was however a major specification change and that's why JSF 1.x targeted component libraries won't work for JSF 2.x.
I am using jboss 4.0 and Java 1.5. I want to use JSF, but I know that this version is fit to JSF 1.1 version. Is it possible to use the latest JSF version on JBoss 4.0?
As JSF API is built on top of JSP/Servlet API, the maximum supported JSF version depends on the maximum supported JSP/Servlet version.
JSF 1.0 and 1.1 requires a minimum of Servlet 2.4 / JSP 2.0.
JSF 1.2 works on Servlet 2.4, but requires a minimum of JSP/EL 2.1 which goes hand in hand with Servlet 2.5, so it requires after all Servlet 2.5. If you replace JSP 2.1 by Facelets 1.x as default view technology, then you can use JSF 1.2 on Servlet 2.4.
JSF 2.0 which uses by default Facelets 2.x requires a minimum of EL 2.1 which goes hand in hand with Servlet 2.5, so it requires after all Servlet 2.5. If you supply your own EL 2.1 API/impl, then you can in theory run JSF 2.0 on Servlet 2.4.
JSF 2.1 requires a minimum of Servlet 3.0 and Java 1.6 (6.0).
JBoss 4.x is a Servlet 2.4 container. So if you stick to JSP, then you can at highest use JSF 1.1. But if you replace JSP by Facelets 1.x, then you can use JSF 1.2. JSF 1.2 offers as the most important advantages the possibility to get rid of <f:verbatim>, to use <f:setPropertyActionListener>, to use #PostConstruct, etc.
JSF 2.0 is in theory possible, but I don't guarantee that it will work 100% as I am not fully aware of any possible side effects. I have as far only run it successfully with a very basic test page with an ajax form and a view scoped bean on Tomcat 5.5. It might fail when it goes into the complex. See also Running JSF 2.0 on Servlet 2.4 container.
Can we mix JSF RI 1.1 with Tomahawk, Primefaces, MyFaces, etc in one application?
You can mix JSF component libraries (Tomahawk, RichFaces, PrimeFaces, etc), but you cannot mix JSF implementations. Sun RI and Apache MyFaces are both JSF implementations. You have to choose the one or other. Any component library ought to work flawlessly with any of the implementations. Which implementation to choose depends on whether it is solid and well-developed. For JSF 1.1, I'd suggest to pick MyFaces. For JSF 1.2 and 2.0, I'd suggest to pick Mojarra (the Sun RI).
PrimeFaces does not support JSF 1.1., it has been designed for JSF 2.0 so we've decided not to support 1.1. at the beginning of the project. Yet JSF 1.2 is well supported.
From my experience, there's a lot of compatibility issues when mixing JSF RI and Myfaces libraries like Tomahawk, especially on JSF 1.1.