2

ボタンがあるとしましょう

<h:form>
<p:commandButton id="refreshButton" value="refresh all depending components"/>
</h:form>

途中で、ボタンがクリックされたときに更新する必要があるコンポーネントを追加します。したがって、update="text1,text2" を使用しても十分ではありません。text3 は後で追加される可能性があり、更新ボタンを変更する必要がないからです。

<h:outputText id="text1" value="{bean.someValue1}></h:outputText>
<h:outputText id="text2" value="{bean.someValue2}></h:outputText>

... 以降 ...

<h:outputText id="text3" value="{bean.someValue3}></h:outputText>

私がやりたいことは、ボタンがコンポーネントに依存するのではなく、コンポーネントをボタンにバインドすることです

4

2 に答える 2

5

あなたが求めていることは不可能です。少なくとも、ビューで標準的な方法を使用しないでください。

しかし、代わりに共通の親を参照することが可能です。

<p:commandButton ... update="texts" />

...

<h:panelGroup id="texts">
    <h:outputText id="text1" ... />
    <h:outputText id="text2" ... />
    ...
    <h:outputText id="text3" ... />
</h:panelGroup>

質問からは明らかでない具体的な機能要件によっては、より良い解決策があるかもしれません。しかし、ボタンを変更するのを怠ったり、「忘れる」ことを避けたりすることに要約される場合は、魔法の修正がないのではないかと思います。

于 2012-09-08T14:15:32.443 に答える
1

を使用して一時的なクイックフィックスを実行しました

<p:outputPanel autoUpdate="true">
    <h:outputText id="text3" ... />
<p:outputPanel />

私が興味を持っているものだけでなく、すべての ajax イベントで更新されるため、パフォーマンスに関しては完璧ではないと思います。

于 2012-09-09T11:18:05.047 に答える