1
我有一個Facelets的子視圖稱爲basedata-cpanel.xhtml
,它得到通過<ui:param>
秒後它的參數:更新文本分量的JSF2/Facelets的子視圖
<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
豆
哇,我不相信這會從Facelets子視圖工作。使用實體代替ID /原語**總是一件好事。沒有臭名昭着的文章http://balusc.blogspot.de/2011/09/communication-in-jsf-20.html#ConvertingAndValidatingGETRequestParameters我不會得到CDI/EJB'converter =「#{customerConverter} 「'去!它甚至可以處理空值(無客戶)。非常感謝! – Kawu 2012-04-25 08:00:34
不客氣。你也可以找到[OmniFaces'SelectItemsConverter'](http://balusc.blogspot.com/2012/03/omnifaces-project-has-started.html#SelectItemsConverter)。不再需要轉換器中的EJB/DAO。 – BalusC 2012-04-25 13:52:47