【发布时间】:2014-02-04 12:10:29
【问题描述】:
我在 generalPage.xhtml 中有下面的命令按钮,它有 GeneralPageMB 支持 bean。
<p:commandButton value="#{facility.facilityName}" ajax="false"
action="facilityHome.xhtml?faces-redirect=true&includeViewParams=true">
<f:param name="fid" value="#{facility.id}" />
</p:commandButton>
我有第二页 facilityHome.xhtml,其中包含以下代码:
<div style="width: 400px; height: 250px;" class="loginContainerBg">
<h:form id="f" prependId="false">
<f:metadata>
<f:viewParam name="fid" value="#{facilityHomeMB.facilityId}"
converter="com.ot.common.utility.FacilityIdConverter" />
</f:metadata>
</div>
facilityHome.xhtml 具有作为 FacilityHomeMB 的支持 bean。所以我试图获取视图参数并设置为 FacilityHomeMB bean 中的 facilityId 属性。我的问题是 facilityId 没有设置。代码有什么问题?任何帮助将不胜感激。
我正在使用 tomcat 7、Primefaces 4.0、Mojarra 2.1。
【问题讨论】:
-
那是合法的 JSF 吗?我一直认为
<f:metadata>只能附加到一个页面,如vld 中所述。尝试将该标签放在视图顶部。 -
是的,你是对的,我错误地放置了
,因为在 vld 中它应该是 的子级,所以我在 中移动了 标签但是它不工作.. -
你是如何检查 id 没有被设置的?你能把
facilityHomeMB和你的转换器的重要部分贴出来吗?
标签: jsf jsf-2 primefaces