この質問はよく聞かれますが、正解はなかったので、もう一度質問することにしました。だから私がこれを持っているなら:私が入っていて私がいるA.xhtml
なら
<ui:include src="B.xhtml">
<ui:param name="formId" value="awesome Id"/>
</ui:include>
だからB.xhtml
、私はこれを行うことができます
<h:outputText value="#{formId}"/>
実行するA.xhtml
とawesome Id
、画面に印刷されます。formId
ただし、バッキングBeanの値にアクセスするにはどうすればよいですか。中を見るFacesContext.getCurrentInstance().getAttributes()
とFacesContext.getCurrentInstance().getExternalContext().getRequestParameterMap()
、見つけられないようです。もう少し先に進むために、私は試してみます:
中B.xhtml
に、私は今持っています
<h:inputHidden id="hiddenFormId" value="#{formId}"/>
<h:outputText value="#{formId}"/>
formId
アイデアは、RequestParameterMap
アンダーキーのの値にアクセスできるということですhiddenFormId
。しかし今私が持っている場合:
<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リクエストの内部を見ると、このエラーが発生します(chromeまたは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のui:param値にアクセスするにはどうすればよいですか?