Re: JSF2.0 + Jonas 5.1.2
Guillaume Sauthier <[email protected]>
| Newsgroups | gmane.comp.java.objectweb.jonas |
|---|---|
| Organization | Objectweb Consortium |
| Message-ID | <[email protected]> |
Hi Patrick
Indeed, JSF 2.0 do not work out of the box with JOnAS 5.x.
JOnAS 5.x is Java EE 5 compliant and JSF 2 is part of Java EE 6.
Anyway, it's still possible to use JSF 2.0 withing JOnAS 5.x.
Here how to do that:
1. Ensure that your web.xml has the 'version' attribute set to 2.5 (JSF
2 mandates Servlet 2.5)
2. Declares your Faces Servlet and maps *.jsf paths to it
1.
<servlet>
2.
<servlet-name>Faces Servlet</servlet-name>
3.
<servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
4.
</servlet>
5.
6.
<servlet-mapping>
7.
<servlet-name>Faces Servlet</servlet-name>
8.
<url-pattern>*.jsf</url-pattern>
9.
</servlet-mapping>
3. Also ensure that your faces-config.xml 'version' attribute is set to
2.0 (See example of a minimum file below)
<faces-config xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-facesconfig_2_0.xsd"
version="2.0">
</faces-config>
4. You also have to tweak the ClassLoader to ensure that you will use
the JSF API and implementation that you have in your webapp. This can be
done using the WEB-INF/jonas-web.xml
<jonas-web-app xmlns="http://www.objectweb.org/jonas/ns"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.objectweb.org/jonas/ns
http://www.objectweb.org/jonas/ns/jonas-web-app_4_0.xsd">
<java2-delegation-model>false</java2-delegation-model>
</jonas-web-app>
4.b Note that you can achieve the same result by filtering javax.faces.* package using the conf/filtering-default-classloader.xml
5. Then your XHTML files should looks like:
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:f="http://java.sun.com/jsf/core"
xmlns:ui="http://java.sun.com/jsf/facelets">
6. Do not forget to embed the JSF 2.0 API+Implementation jars in your WEB-INF/lib
Notice that only the step #4 is specific to JOnAS.
Hope this helps....
Cheers
--Guillaume
Le 23/09/2010 16:50, Patrick Reignier a écrit :
> Hello
>
> I could not succeed using Jonas 5.1.2 with JSF 2.0 (mojarra)
>
> I have made a minimal example. This example starts directly using
> mvn tomcat: run
>
> When deployed on Jonas, the first concern is that the
> tomcat on jonas considers that the default page language description
> is jsp
> (JSF 1.2 behavior and not JSF2.0). By adding the lines
>
> <context-param>
> <param-name> javax.faces.DEFAULT_SUFFIX </ param-name>
> <param-value>. xhtml </ param-value>
> </ Context-param>
>
> in the web.xml, this fixes the problem but then nothing happens:
> index.jsf page is loaded but is left intact by the JSF servlet
> (a "view source" in the browser shows all the JSF tags still in the
> page).
>
> The example is here
> http://www-prima.inrialpes.fr/reignier/test.tar.gz
>
> Thank you
Guillaume_Sauthier.vcf
(text/x-vcard, 387 B)
begin:vcard fn:Guillaume Sauthier n:Sauthier;Guillaume org:<a href="http://www.ow2.org"><img title="OW2" alt="OW2 Consortium" border="0" src="http://www.ow2.org/xwiki/bin/skin/XWiki/DefaultSkin/logoOW2.png" /></a> adr:;;;;;;France email;internet:[email protected] title:<a href="http://jonas.ow2.org">JOnAS Application Server</a> url:http://jonas.ow2.org version:2.1 end:vcard