#jsf #richfaces #actionlistener #ajax4jsf
#jsf #richfaces #actionlistener #ajax4jsf
Вопрос:
У меня есть следующий код из Richfaces 3.3
<h:inputText id="transamount" value="#{myBean.amount}">
<a4j:support event="onkeyup" ajaxSingle="true" actionListener="#{myBean.validTransAmt}" requestDelay="200" ignoreDupResponses="true" reRender="main,submitButton" />
</h:inputText>
Мне нужно обновить его до Richfaces 4, и я не уверен, как теперь подключить ActionListener, поскольку он не поддерживается компонентом a4j: ajax, который заменяет a4j: support.
Это то, что у меня есть до сих пор.
<h:inputText id="transamount" value="#{myBean.amount}">
<a4j:ajax event="onkeyup" reRender="main,submitButton" />
</h:inputText>
Может кто-нибудь объяснить, как прикрепить ActionListener здесь?
Спасибо
Ответ №1:
в richfaces 4.0 используется другой синтаксис, чем в 3.x в вашем случае: onkeyop = keyup reRender = render
не используйте запятую для разделения значений в атрибуте ‘render’.
попробуйте:
<h:inputText id="transamount" value="#{myBean.amount}">
<a4j:ajax event="keyup" listener="#{myBean.validTransAmt}" render="main submitButton" />
</h:inputText>
Ответ №2:
Вместо этого требуется просто использовать атрибут ‘listener’:
<h:inputText id="transamount" value="#{myBean.amount}">
<a4j:ajax event="onkeyup" listener="#{myBean.validTransAmt}" reRender="main,submitButton" />
</h:inputText>