我有下面的一组页面和相应的 MPB,我将它们组织如下。
1)
class ManagedBeanBase {
protected String mode;
}
2) page1.xhtml
<ui:composition>
<ui:define name="contentArea">
<f:metadata>
<f:event type="preRenderView" listener="#{page1MPB.preProcess}" />
</f:metadata>
...
...
<h:panelGrid>
<h:panelGroup>
<h:commandButton value="continue" id="button_continue"
actionListener="#{page1MPB.postProcess}" />
</h:panelGroup>
</h:panelGrid>
</ui:define>
</ui:composition>
3)
@RequestScoped
@ManagedBean(name="page1MPB")
Page1MPB extends ManagedBeanBase
{
public void preProcess() {setMode("1");}
public void postProcess(ActionEvent event) {
System.out.println("MODE during submit ["+getMode()+"]);
}
}
现在的问题是,它在提交期间显示“空”值。
有人可以建议吗?如果在提交期间无法获取模式值,请告诉我替代解决方案。请注意,模式值会显示在会话范围下。