Question

I tried two ways to implement this.

Specs: MyFaces 2.1.7 javax.el 2.1.0 WebFlow 2.3.1 Spring Framework (OSGI)

First, added the dependency.

<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>

Then I attached to the manifest.mf of my application the bundles.

Firstly, I tried to use this old method some guy coded. When I try to run it I get this error message:

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

Secondly, the most recent I have found is this one. I had some problem with clashing version of javax.el, because juel-api import is own. So, I added in the juel-api manifest this line.

Fragment-Host: javax.el

Then,

I add the ExpressionImpl from JUEL to MyFaces configuration in the web.xml

<context-param>
        <param-name>org.apache.myfaces.EXPRESSION_FACTORY</param-name>
        <param-value>de.odysseus.el.ExpressionFactoryImpl</param-value>
</context-param>

Unfortunatelly, I get this log message:

MyFaces Bean Validation support enabled

Which tells us that JUEL is not being loaded? what am I missing or doing wrong..

Was it helpful?

Solution

Changed the manifest of javax.el that was being used by my application.

1) Remove the old javax version and replace it with latest version of javax.el from jetty.orbit. 2) Keep the dependency from Juel that I mentionned. 3) Add to your Manifest.mf of your project (webapp) with those bundles

  • javax.el.2.2.0.v201303151357
  • juel-api
  • juel-impl

4) Tricky part: Open the javax.el.2.2.0.v201303151357 and open the manifest of this jar. Then, add this line to force the use of the javax.el from juel-api.

Fragment-Host: de.odysseus.juel-api
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top