我尝试了两种方法来实现这一点。
规格:MyFaces 2.1.7 javax.el 2.1.0 WebFlow 2.3.1 Spring Framework (OSGI)
首先,添加依赖。
<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-api 导入是自己的。所以,我在 juel-api manifest 中添加了这一行。
Fragment-Host: javax.el
然后,
我将来自 JUEL 的 ExpressionImpl 添加到 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
这告诉我们 JUEL 没有被加载?我错过了什么或做错了什么..