h: командная ссылка с f: ajax не работает

#jsf-2

#jsf-2

Вопрос:

я использую jsf2.0. мой код выглядит так:

 <h:form id="form">
    <h:commandButton  value="testbutton" action="#{Bean.test}">
        <f:ajax   render="msg"/>
    </h:commandButton>
    <h:outputText value="#{Bean.outmsg}" id="msg"/>
</h:form>
  

он работает хорошо.
но если я изменю h: commandbutton на h: commandlink,
код будет выглядеть так:

 <h:form id="form">
    <h:commandLink  value="testbutton" action="#{Bean.test}">
        <f:ajax   render="msg"/>
    </h:commandLink>
    <h:outputText value="#{Bean.outmsg}" id="msg"/>
</h:form>
  

тогда мой код не может работать.
мне нужна помощь, спасибо, ребята.

Комментарии:

1. Что это значит, что мой код не может работать ? Также показывает управляемый компонент.

2. имеется в виду изменение на commandlink , тогда #{Bean.test} не будет вызван

Ответ №1:

используйте этот код.

 <f:ajax event="click" render="msg" listener="#{Bean.test}"/>
  

должна быть ваша сторона Java bean, подобная этой.

 public void test(AjaxBehaviorEvent event) {   }