<h:form>
一部のprimeface要素のアクションによって更新されるためにラップする必要があるprimefaces要素のリストが必要です。<p:ajax>
たとえそれらがIDを持っていても、更新するためにIDが<p:ajax update="thisID">
必要であり、<h:form>
どの要素が必要であり<h:form>
、
3 に答える
要するに、インターフェースを実装するEditableValueHolder
すべてのコンポーネントとインターフェースをcomponentで囲む必要があります。ActionSource
UIForm
前述の Javadoc の「すべての既知の実装クラス」に、それらを実装するコンポーネントが示されています。よく見ると、すべてが 、 などの入力コンポーネントでありinputText
、、selectOneMenu
などのコマンド コンポーネントcommandLink
であることがわかります。PrimeFaces API ドキュメントでは、たとえば はimplementsを表すため、フォームに配置する必要があります。 .commandButton
InputText
<p:inputText>
EditableValueHolder
また、プレーンなバニラ HTMLとまったく同じ要件であり、サーバー側に送信される値を取得するには、HTML <input>
、<select>
、<textarea>
などを aに入れる必要があります。<form>
結局のところ、HTML は JSF が最終的に生成するものでもあります。
ajax による要素の更新に関しては、更新するコンポーネントをフォーム内に配置する必要があるというのは事実ではありません。現在のフォームの外側にあるコンテンツを完全に更新できます。他のフォームを更新することもできます。
バッキング Bean との間でコンテンツを送信/受信するすべてのコンポーネントは、 でラップする必要があります<h:form>
。
したがって、更新したいすべてのもの、またはすべてのボタン/リンク設定がフォーム内にある必要があります。また、これはPrimefacesのものではありません。この規則は、通常の JSF にも適用されます。