2010-03-30 2 views
2

У меня есть тег JSP которым требуется javax.el.MethodExpression как атрибут:Invoke javax.el.MethodExpression от JSF компонента

<%@ attribute name="action" required="true" type="javax.el.MethodExpression" rtexprvalue="true" %> 


в том же теге у меня есть:

<h:commandLink action="#{action}"> 
    link text 
</h:commandLink> 

Я получаю следующее сообщение об ошибке, когда я пытаюсь нажать на ссылку:

javax.faces.FacesException: #{action}: org.apache.jasper.el.JspMethodNotFoundException: /WEB-INF/tags/pager/pager.tag(17,1) '#{action}' Identity 'action' was null and was unable to invoke 

возможно, чтобы commandLink правильно вызвал метод «действия»?

+0

Это одна из многих причин, по которым я рад, что больше не работаю с JSF. – noah

+3

Невежество - это блаженство. – BalusC

ответ

2

Прошло некоторое время с тех пор, как я сделал JSF, но я уверен, что выражение метода имеет форму: #{bean.method}. Вы не можете просто сказать #{method}.

+0

Да, я передаю метод тегам, которые я создал: и внутри тега, я должен присвоить этот метод команде link – marcosbeirigo

+1

Да, это не работает , Вы не можете передавать выражения метода таким образом. – noah

Смежные вопросы