我尝试了两种实现这的方法。
规范: MyFaces 2.1.7 javax.el 2.1.0 WebFlow 2.3.1 Spring框架
首先,添加了依赖项。
<dependency>
<groupId>de.odysseus.juel</groupId>
<artifactId>juel-api</artifactId>
<version>2.2.6</version>
</dependency>
<dependency>
<groupId>de.odysseus.juel</groupId>
<artifactId>juel-impl</artifactId>
<version>2.2.6</version>
</dependency>
<dependency>
<groupId>de.odysseus.juel/groupId>
<artifactId>juel-spi</artifactId>
<version>2.2.6</version>
</dependency>然后,我将包附加到我的应用程序的manifest.mf上。
首先,我试着用这种旧方法某个人编码。当我尝试运行它时,我会得到以下错误消息:
org.springframework.binding.expression.ParserException: Unable to parse expression string '#{extRuntimeAuthorityUserManager.addRuntimeAuthority(conversationScope.accessLayerModel.accessUser, T(com.common.identity.enums.ERuntimeAuthority).AUTHORITY_CHANGE_WORKING_INSTITUTION)}'其次,我最近发现的是这个一。我对javax.el的冲突版本有一些问题,因为juel导入是自己的。因此,我在juel清单中添加了这一行。
Fragment-Host: javax.el然后,
我将ExpressionImpl从JUEL添加到web.xml中的MyFaces配置
<context-param>
<param-name>org.apache.myfaces.EXPRESSION_FACTORY</param-name>
<param-value>de.odysseus.el.ExpressionFactoryImpl</param-value>
</context-param>不幸的是,我收到了这条日志信息:
MyFaces Bean Validation support enabled这说明朱尔没有被装上子弹?我错过了什么或者做错了什么..。
发布于 2013-04-11 12:23:08
更改了我的应用程序正在使用的javax.el清单。
1)删除旧的javax版本,并将其替换为最新版本 of javax.el从jetty.orbit中删除。2)不要像我所说的那样依赖于朱厄尔。3)将这些包添加到项目的Manifest.mf (webapp)中
4)棘手的部分:打开javax.el.2.2.0.v201303151357并打开这个jar的清单。然后,添加这一行以强制使用juel中的javax.el。
Fragment-Host: de.odysseus.juel-apihttps://stackoverflow.com/questions/15905471
复制相似问题