0

目前我有一个类似于 jsf listener not called inside nested ui:repeat
的问题在我得到这个问题的解决方案后,我将 Mojarra 升级到了 2.1.16 版。
一切正常,直到我实现下面提到的视图。
代码被简化为基础。


xhtml:

<form>
  <div>
    // listener is called
    <h:commandLink value="test1">
      <f:ajax event="click" listener="#{testBean.testListener}" />
    </h:commandLink>
    <ui:repeat var="testList" value="#{testBean.testList}">
      // listener is not called !
      <h:commandLink value="test2">
        <f:ajax event="click" listener="#{testBean.testListener}" />
      </h:commandLink>          
    </ui:repeat>
  </div>
</form>


豆:

@ManagedBean(name="testBean")
@ViewScoped
public class TestBean {
  private Collection<TestObj> testList;
  public Collection<TestObj> getTestList() {
    return this.testList;
  }

  // the listener
  public void testListener() {
    ...
  }
}


即使我更改ui:repeatc:forEach,问题也是一样的!
就像我使用@SessionScope而不是@ViewScope第二个 commandLink (在迭代内)调用侦听器一样。但我想避免@SessionScope吃这个豆子。

关于这个问题的原因以及如何处理,你有什么提示吗?

4

0 回答 0