thanks mark, do you mind putting this into a wiki page ? :)
-Matthias On Wed, Feb 10, 2010 at 10:10 AM, Mark Struberg <strub...@yahoo.de> wrote: > Hiho! > > It is possible, but only with a little trick. > Using a parameter in the EL is a new EL-2.2 feature which is _not_ part of > JSP-2.1 delivered with tomcat6 and jetty6 but defined in JSR-245 MR-2 > (JSP-2.2) [1]. > > You can enable EL-2.2 by using a few tricks even in tomcat-6 and jetty6. > Here is how goes: > > A.) You have to use el-api.jar and el-impl.jar from the glassfish reference > implementation. In your pom.xml: > > <!-- EL 2 --> > <dependency> > <groupId>javax.el</groupId> > <artifactId>el-api</artifactId> > <version>2.2</version> > <scope>provided</scope> > </dependency> > <profiles> > <profile> > <id>jetty</id> > <build> > <plugins> > <plugin> > <groupId>org.mortbay.jetty</groupId> > <artifactId>maven-jetty-plugin</artifactId> > <version>${jetty-version}</version> > <configuration> > <scanIntervalSeconds>10</scanIntervalSeconds> > </configuration> > </plugin> > </plugins> > </build> > <dependencies> > <dependency> > <groupId>javax.el</groupId> > <artifactId>el-api</artifactId> > <version>2.2</version> > <scope>compile</scope> > </dependency> > <dependency> > <groupId>org.glassfish.web</groupId> > <artifactId>el-impl</artifactId> > <scope>runtime</scope> > <version>2.2</version> > </dependency> > </dependencies> > </profile> > </profiles > > This will allow you to use EL-2.2 by running > $> mvn clean install -Pjetty jetty:run > > B.) preparing tomcat > 1. go to the tomcat home directory > 2. remove tomcats el-api.jar from the classpath: > $> mv ./lib/el-api.jar ./lib/el-api.jar.nixda > > 3. copy the EL-2.2 jars into ./lib (el-api-2.2.jar, el-impl-2.2.jar) > 4. make sure that the applications don't contain those 2 el jars! > > voila, have fun! > > LieGrue, > strub > > [1] http://jcp.org/aboutJava/communityprocess/mrel/jsr245/index.html > > > --- Michael Kurz <michi.k...@gmx.at> schrieb am Mi, 10.2.2010: > >> Von: Michael Kurz <michi.k...@gmx.at> >> Betreff: Re: el expression >> An: users@myfaces.apache.org >> Datum: Mittwoch, 10. Februar 2010, 9:33 >> Hi, >> >> it is true that it is not possible to use method parameters >> or to call >> methods of an object that are no getters or setters (at >> least before >> Java EE 6). >> >> But there are ways to bypass this limitation: >> >> * If you only want to call a method in an EL expression you >> could define >> an EL function (possible with JSP and Facelets). >> >> * If you want to pass a parameter to an action method you >> could use an >> alternative EL implementation like JBoss EL (see [1]). For >> this you have >> to include the JBoss EL libraries and replace the >> expression factory of >> MyFaces like this in your web.xml: >> >> <!-- Replace ExpressionFactory for >> Apache MyFaces --> >> <context-param> >> >> <param-name>org.apache.myfaces.EXPRESSION_FACTORY</param-name> >> >> <param-value>org.jboss.el.ExpressionFactoryImpl</param-value> >> </context-param> >> >> regards >> Michael >> >> [1]: >> http://docs.jboss.org/seam/2.0.1.GA/reference/en/html/elenhancements.html >> >> Am 10.02.2010 09:20, schrieb Martin Monshausen: >> > Hi, >> > calling methods with parameters is not possible in JSF >> as far as I know. Try to set Parameter in Bean before >> calling the method and then refer to it in your >> parameter-less method. >> > Yours, >> > >> > Martin >> > ________________________________ >> > >> > Von: Krishna K. Pandit [mailto:krishna.pan...@aptuit.com] >> > Gesendet: Mi 10.02.2010 06:14 >> > An: MyFaces Discussion >> > Betreff: el expression >> > >> > >> > >> > Hi all >> > >> > Can any one can help me how to pass a parameter to a >> method while >> > calling it in EL expression. >> > Im trying this >> > >> > "#{myBean.method('JAVA')} >> > >> > But I m getting errors while rendering. >> > >> > Thanks >> > Krishna Pandit >> > This email and any files transmitted with it are >> confidential and intended >> > solely for the use of the individual or entity to whom >> they are addressed. >> > If you have received this email in error please notify >> the sender by email >> > reply and delete it from your system. >> > The integrity and security of this email cannot be >> guaranteed on the Internet. >> > >> > >> > >> > >> > > __________________________________________________ > Do You Yahoo!? > Sie sind Spam leid? Yahoo! Mail verfügt über einen herausragenden Schutz > gegen Massenmails. > http://mail.yahoo.com > -- Matthias Wessendorf blog: http://matthiaswessendorf.wordpress.com/ sessions: http://www.slideshare.net/mwessendorf twitter: http://twitter.com/mwessendorf