我已經看到這個問題問了很多問題,但是,沒有人正確回答,因此我決定再次提問。所以,如果我有這樣的:如果我在A.xhtml
我如何訪問託管bean中的ui:param值
<ui:include src="B.xhtml">
<ui:param name="formId" value="awesome Id"/>
</ui:include>
所以在B.xhtml
,我能做到這一點
<h:outputText value="#{formId}"/>
當我運行A.xhtml
,我會看到awesome Id
得到印在屏幕上。但是,如何訪問backing bean中的formId
的值。我看着FacesContext.getCurrentInstance().getAttributes()
和FacesContext.getCurrentInstance().getExternalContext().getRequestParameterMap()
裏面,我似乎無法找到它。走遠一點,所以我嘗試:
裏面B.xhtml
,我現在有
<h:inputHidden id="hiddenFormId" value="#{formId}"/>
<h:outputText value="#{formId}"/>
的想法是,我可以在RequestParameterMap
訪問下鍵hiddenFormId
的formId
值。但現在,如果我有:
<h:form id="myForm">
<ui:include src="B.xhtml">
<ui:param name="formId" value="awesome Id"/>
</ui:include>
<a4j:commandButton render="myForm" value="My Button"/>
</h:form>
那麼如果我看的POST請求裏我會得到這個埃羅(當內部鍍鉻或FF調試模式)
<partial-response><error><error-name>class javax.faces.component.UpdateModelException</error-name><error-message><![CDATA[/B.xhtml @9,61 value="${formId}": /index.xhtml @27,61 value="awesome Id": Illegal Syntax for Set Operation]]></error-message></error></partial-response>
所以如何訪問用戶界面:託管bean中的參數值?
是[這個問題](http://stackoverflow.com/questions/5394304/passing-values-with-uiparam-and-access-them-in-backing-bean)類似於你的東西? – ElderMael
@mael:我正在嘗試他的代碼,但有些事情我沒有得到。如果你瞭解他/她的代碼,你能幫助我多一點嗎? 'hiddenValue'是outputLabel的id,'UiTreeWalker'是什麼? –