Java 在Websphere中使用JBoss EL
我正在做一个将在Websphere上运行的项目 我在这个项目中使用JSF/Facelets/Richfaces 我想使用JBoss EL实现,因为它允许使用EL等的参数调用方法 。。。通常,这是通过获取JBoss EL jar,然后将其放入web.xml来实现的:Java 在Websphere中使用JBoss EL,java,jsf,jboss,websphere,el,Java,Jsf,Jboss,Websphere,El,我正在做一个将在Websphere上运行的项目 我在这个项目中使用JSF/Facelets/Richfaces 我想使用JBoss EL实现,因为它允许使用EL等的参数调用方法 。。。通常,这是通过获取JBoss EL jar,然后将其放入web.xml来实现的: <context-param> <param-name>com.sun.faces.expressionFactory</param-name> <param-value>or
<context-param>
<param-name>com.sun.faces.expressionFactory</param-name>
<param-value>org.jboss.el.ExpressionFactoryImpl</param-value>
</context-param>
注意上面指定的“com.sun.el.expressionfactorympl”而不是“org.jboss.el.expressionfactorympl”
我是不是做错了什么?任何人有任何想法。。。我正在使用majorra项目的标准JSF实现,或者sun网站、richfaces 3.1.4和facelets 1.1.14上提供的任何东西。这可能是由于类路径范围问题。你在哪里复制了你的jboss el jar 你说得对。在类路径中包含jboss-el.jar,并在WEB.xml中定义
<context-param>
<param-name>com.sun.faces.expressionFactory</param-name>
<param-value>org.jboss.el.ExpressionFactoryImpl</param-value>
</context-param>
com.sun.faces.expressionFactory
org.jboss.el.ExpressionFactoryImpl
但是有一些限制。看
如果您想了解有关表达式语言的详细信息,请参阅和
在这方面,可能问题不在于Websphere,而在于JSF实现,因为“com.sun.faces.expressionFactory”是特定于JSF实现的。我在使用MyFaces时也遇到了同样的问题,它的值是“org.apache.MyFaces.EXPRESSION\u FACTORY”。是否正确设置了类加载器?在websphere中,必须在多个设置中设置类加载器。 将web模块类加载器设置为Parent last,将应用程序类加载器设置为Parent last
如果两个jar都不在parent last上,则可能不会使用您自己的jar,而是使用websphere提供的jar。我已将jar放在服务器上的共享库设置中。我曾尝试将类加载器设置为parent_first和parent_last:\Thx以了解有关限制的说明,但我对EL非常熟悉,只是在WAS中从未以这种方式专门使用过它:(@Arthur Ronald,你知道哪里可以下载jboss el的最新版本吗?我在谷歌下载seam 2并在其中使用jboss时发现:@Mahmoud Saleh AFAIK,我非常确定jboss el默认包含在seam框架中。是的,我知道我在上面的jar中使用过它,但这是最新版本吗?你解决过这个问题吗?我面临着同样的问题苏。
Caused by: javax.el.ELException: Error Parsing: #{mcsaAdmin.deleteLanguage(1234)}
at com.sun.el.lang.ExpressionBuilder.createNodeInternal(Unknown Source)
at com.sun.el.lang.ExpressionBuilder.build(Unknown Source)
at com.sun.el.lang.ExpressionBuilder.createMethodExpression(Unknown Source)
at com.sun.el.ExpressionFactoryImpl.createMethodExpression(Unknown Source)
at com.sun.facelets.tag.TagAttribute.getMethodExpression(TagAttribute.java:141)
<context-param>
<param-name>com.sun.faces.expressionFactory</param-name>
<param-value>org.jboss.el.ExpressionFactoryImpl</param-value>
</context-param>