我有 JSF 页面 eventListEdit.xhtml,它在每一行中显示一个带有命令按钮的数据表,以编辑通过 eventCreateEdit.xhtml 页面显示的数据。这是我的带有命令按钮的 eventlistEdit.xhtml 表
<p:column style="width:50px;">
<p:commandButton id="editButton" action="#{eventListEditModel.edit}" update="@form" icon="ui-icon-pencil" title="Edit">
<f:setPropertyActionListener value="#{projectEvent}" target="#{eventListEditModel.editProjectEvent}" />
<f:param name="projectEventId" value="#{projectEvent.projectEventId}"/>
</p:commandButton>
</p:column>
我的 eventCreateEdit.xhtml 通过来自我的支持 bean 的返回 url 显示如下
public String edit(){
return "/rem40/eventCreateEdit.xhtml?"+"projectEventId="+editProjectEvent.getProjectEventId();
}
我的 eventCreateEdit.xhtml 在元数据中有以下内容
<f:metadata>
<f:viewParam name="projectEventId" value="#{eventCreateEditModel.projectEventId}"/>
<f:viewAction action="#{eventCreateEditModel.onPageLoad}" />
</f:metadata>
<ui:define name="bodyContent">
<h:form id="form">
eventCreateEditModel.onPageLoad() 似乎存在问题,它永远不会执行,也不会从请求参数在新页面中设置 viewParam。JSF 页面 eventCreateEdit.xhtml 会显示。为什么 viewParam 和 viewAction 在这种情况下不起作用?