JSF 2 के साथ आप यह करने के लिए सक्षम होना चाहिए:बिलाव के साथ ईएल 2.2 का उपयोग 6.0.24
<h:commandButton action="#{myBean.myAction(myParameter)}"/>
जो तब कार्रवाई विधि कहेंगे, (मान यह एक पूर्णांक है) पैरामीटर में गुजर:
@ManagedBean
@SessionScoped
public class MyBean {
...
public String myAction(Integer myParameter) {
// do something
return null;
}
...
}
यह ग्लासफ़िश v3 पर पूरी तरह से काम करता है। हालांकि नहीं बिलाव पर, आप पार्स त्रुटि के एक ELException अधिसूचित प्राप्त
Caused by: javax.el.ELException: Error Parsing: ...
अब, वहाँ एक documented way of making this work using EL 2.2 और Glassfish के कार्यान्वयन बिलाव lib निर्देशिका में el-api
जार की जगह है, लेकिन मैं अभी भी नहीं के साथ होने वाली एक ही त्रुटि मिलती है भाग्य। टॉमकैट वास्तव में मुझे निराश करना शुरू कर रहा है! जेएसएफ 2 आसान होना है!
Maven पोम टुकड़े:
<repositories>
<repository>
<id>sun</id>
<url>http://download.java.net/maven/2/</url>
</repository>
<repository>
<id>jboss</id>
<url>http://repository.jboss.com/maven2/</url>
</repository>
</repositories>
...
<dependency>
<groupId>javax.el</groupId>
<artifactId>el-api</artifactId>
<version>2.2</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.glassfish.web</groupId>
<artifactId>el-impl</artifactId>
<version>2.2</version>
<scope>provided</scope>
</dependency>
अधिक जानकारी।
यहां स्टैक ट्रेस का हिस्सा है, ऐसा लगता है कि यह अभी भी अपाचे ईएल कार्यान्वयन का उपयोग कर रहा है, और जिसे मैंने lib में डाला नहीं है। मैंने मौजूदा el-api.jar
को पूरी तरह से हटा दिया जो कि टोमकैट के साथ आया था, क्या el-impl.jar
है, क्या मुझे कहीं भी हटाया जा रहा है जो कुछ ओवरराइड कर सकता है?
Was expecting one of:
"}" ...
"." ...
"[" ...
">" ...
"gt" ...
"<" ...
"lt" ...
">=" ...
"ge" ...
"<=" ...
"le" ...
"==" ...
"eq" ...
"!=" ...
"ne" ...
"&&" ...
"and" ...
"||" ...
"or" ...
"*" ...
"+" ...
"-" ...
"/" ...
"div" ...
"%" ...
"mod" ...
at org.apache.el.parser.ELParser.generateParseException(ELParser.java:2142)
at org.apache.el.parser.ELParser.jj_consume_token(ELParser.java:2024)
at org.apache.el.parser.ELParser.DeferredExpression(ELParser.java:113)
at org.apache.el.parser.ELParser.CompositeExpression(ELParser.java:40)
at org.apache.el.lang.ExpressionBuilder.createNodeInternal(ExpressionBuilder.java:93)
... 64 more
यह समस्या जेएसएफ 2 विशिष्ट नहीं है। यह जेएसपी-ईएल 2.2 विशिष्ट है। – BalusC