Java jsf viewParam始终为空
我试图使用JSFviewParam获取一个参数,在呈现视图之前说“paramName”,并让它检查它是否有效。我使用它作为令牌系统,以便用户重置密码。有一个具有相应内容、页脚和页眉模板的基础模板。我有一个userBean,它是一个会话bean,具有以下代码Java jsf viewParam始终为空,java,jsf,Java,Jsf,我试图使用JSFviewParam获取一个参数,在呈现视图之前说“paramName”,并让它检查它是否有效。我使用它作为令牌系统,以便用户重置密码。有一个具有相应内容、页脚和页眉模板的基础模板。我有一个userBean,它是一个会话bean,具有以下代码 private String paramName; // +getter+setter public void check() { System.out.print(paramName); } /** * @return th
private String paramName; // +getter+setter
public void check() {
System.out.print(paramName);
}
/**
* @return the paramName
*/
public String getParamName() {
return paramName;
}
/**
* @param paramName the paramName to set
*/
public void setParamName(String paramName) {
this.paramName = paramName;
}
base.xhtml模板
<h:body>
<div id="wrapper">
<f:view>
<ui:insert name="metadata"/>
<!-- Header Begin -->
<ui:insert name="header">
<ui:include src="/WEB-INF/templates/header.xhtml" />
</ui:insert>
resetPassword.xhtml
<h:body>
<ui:composition template="/WEB-INF/templates/base.xhtml">
<ui:define name="title">Recover your username</ui:define>
<ui:define name="metadata">
<f:metadata>
<f:viewParam id="paramName" name="paramName" value="#{userBean.paramName}" required="true" />
<f:event type="preRenderView" listener="#{userBean.check}" />
</f:metadata>
</ui:define>
<!-- Defines main content (not including header, footer, or menu) -->
<ui:define name="content">
</ui:define>
</ui:composition>
</h:body>
</html>
恢复您的用户名
我在网上读过/做过研究,并学习了教程,为什么我的paramName总是空的?我开始怀疑我使用的是会话bean还是我正在阅读的文章中的视图范围bean:你使用的是什么JSF版本?用
@ViewScoped
bean试试这个,告诉我们你的结果。JSF 2.1和更改为@viewScope仍然会导致空值