JUEL设置不起作用

时间:2013-04-09 15:01:01

标签: spring expression spring-webflow myfaces juel

我尝试了两种方法来实现this

规格: 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捆绑包。

首先,我尝试使用this old method某些人编码。当我尝试运行它时,我收到以下错误消息:

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)}'

其次,我发现的最新one。我对javax.el的冲突版本有一些问题,因为juel-api import是自己的。所以,我在juel-api中加入了这一行。

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没有加载?我错过了什么或做错了什么..

1 个答案:

答案 0 :(得分:0)

更改了我的应用程序正在使用的javax.el的清单。

1)删除旧的javax版本,并用jetty.orbit中的latest version javax.el替换它。 2)保持我提到的Juel的依赖性。 3)使用这些捆绑包添加到项目的Manifest.mf(webapp)

  • javax.el.2.2.0.v201303151357
  • JUEL-API
  • JUEL-IMPL

4)棘手的部分:打开javax.el.2.2.0.v201303151357并打开这个jar的清单。然后,添加此行以强制使用juel-api中的javax.el。

Fragment-Host: de.odysseus.juel-api