С JSF 2 необходимо смочь сделать это:
который затем назвал бы метод действия, передающий в параметре (предположите, что это - Целое число):
@ManagedBean
@SessionScoped
public class MyBean {
...
public String myAction(Integer myParameter) {
// do something
return null;
}
...
}
Это работает над Glassfish v3 отлично. Однако не на Tomcat, Вы получаете уведомление ELException относительно ошибки анализа
Caused by: javax.el.ELException: Error Parsing: ...
Теперь, существует зарегистрированный способ сделать эту работу с помощью EL 2.2 и реализации Glassfish путем замены el-api
банка в каталоге lib Tomcat, однако я все еще получаю ту же ошибку, происходящую без удачи. Tomcat, действительно начинающий разбить меня! JSF2 предназначен для EA!
Фрагменты АНГЛИЧАНИНА знатока:
sun
http://download.java.net/maven/2/
jboss
http://repository.jboss.com/maven2/
...
javax.el
el-api
2.2
provided
org.glassfish.web
el-impl
2.2
provided
Подробнее.
Вот часть отслеживания стека, кажется, что это все еще использует Apache реализация EL а не та, которую я вывел в lib. Я полностью удалил существующее el-api.jar
это шло с Tomcat, есть ли 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
Как я упоминал в комментарии, это можно решить, обновив реализацию EL (т.е. заменив jasper-el.jar на el-impl-2.2.jar)