htmlCommandLink 只在第一次工作

htmlCommandLink only works first time

我已经阅读了 "all" 其他关于无法使用 CommandLinks 的问题,但是 none 申请了我,希望有另一个解决方案。

我有一个 a4j:htmlCommandLink 只在第一次点击时有效。 如果我点击页面上的其他地方触发 a4j:outputPanel 的重新渲染,那么每次我点击它都会起作用。

<a4j:outputPanel rendered="true" id="results">
<a4j:form id="csv-form">
<a4j:htmlCommandLink title="Export" action="#{bean.export()}" value="Export CSV" id="csv-link"/>
</a4j:form>
<a4j:form id="other-form">
<a4j:commandLink value="Test" action="#{bean.action()}" reRender="results" title="Test">
</a4j:form>
</a4j:outputPanel>

为什么我第二次点击(在我重新渲染之前)它不起作用?

更新 这有效:

<a4j:form id="csv-form">
<a4j:htmlCommandLink title="Export" action="#{bean.export()}" value="Export CSV" id="csv-link"/>
<a4j:support event="onclick" reRender="results"></a4j:support>
</a4j:form>

我不知道这是否是 JSF 1.2 中的错误,但似乎 a4j:outputPanel 在我第一次单击 htmlCommandLink 后没有呈现。

我加了一个a4j:support。在 onclick 事件中,它重新呈现结果。我已经更新了上面的代码。

每次单击 htmlCommandLink 时,都会重新呈现 "results" outputPanel。它有效。 :)