と呼ばれるFaceletsサブビューbasedata-cpanel.xhtml
があり、そのパラメーターは<ui:param>
sを介して渡されます。
<ui:define name="content-top">
<h:form>
<ui:include src="/subviews/basedata-cpanel.xhtml">
<ui:param name="customerId" value="#{pqHome.pq.customer.id}" />
<ui:param name="customerName" value="#{pqHome.pq.customer.name}" />
<ui:param name="customers" value="#{organizationManager.allCustomers}" />
<ui:include />
</h:form>
</ui:define>
サブビューでは、下のパネルに現在選択されている顧客名を表示したいだけです(このパネルはNEWおよびUPDATEパネル/ページ用です)。これにはAJAXリクエストが必要です。
のコード/subviews/basedata-cpanel.xhtml
:
<h:selectOneMenu value="#{customerId}" id="customer-select">
<f:selectItems value="#{customers}"
var="customer"
itemValue="#{customer.id}"
itemLabel="#{customer.name}" />
<f:ajax render="customer-name" />
</h:selectOneMenu>
<h:outputText value="#{customerName}" id="customer-name" />
を選択に入れました<f:ajax render="customer-name" />
が、outputTextが更新されません。本当に期待していなかったのですが...
それを機能させるために何をする必要がありますか?
Faceletsサブビューには、渡されたものと同じパラメーターがまだあるので、「新しいパラメーター」を取得するにはどうすればよいですか?これのベストプラクティスは何ですか?
PS:pqHomeは@ViewScoped
Beanです