ajaxリクエスト後にコンテンツが表示されるページを作成しようとしています。ここに私のコードの一部があります:
<h:panelGroup>
<h:form>
Retrive object by id: <h:inputText id="myInput" value="#{myManager.id}"/>
<h:commandButton value="ok" action="#{myManager.getById}" >
<f:ajax execute="myInput" render="resultRow" />
</h:commandButton>
<h:panelGroup id="resultRow" >
<br />
You retrived object which id is:
<h:outputText value="#{retrivedObject.id}" />
and its name is:
<h:outputText value="#{retrivedObject.name}" />
</h:panelGroup>
</h:form>
</h:panelGroup>
私の問題は、オブジェクトを取得する前であっても、「取得したオブジェクトのID: 」がレンダリングされることです。コマンドボタンをクリックするまで非表示にしたい。jsf + html だけでできますか (これは ajax で行う必要があります)。必要に応じて JavaScript を使用することもできますが、私は使用しません。
これを解決しようとしましたがrendered="#{!retrivedObject.id==0}"
(私のオブジェクトは id 0 を持つことはできません)、これは機能しません - パネル グループがまったくレンダリングされず、ajax リクエストを呼び出すと、「resultRow」ID を見つけることができません。
事前に助けてくれてありがとう。