我想将参数从 jsf 页面传输到另一个 jsf 页面。像这样:
一个.xhtml
<h:form>
<h:commandLink class="navi" value="press"
action="#{Bean.action}">
<f:param name="id" value="5555" />
</h:commandLink>
</h:form>
Bean.java
public String action() {
HttpServletRequest request = (HttpServletRequest) FacesContext
.getCurrentInstance().getExternalContext().getRequest();
String param = request.getParameter("id");
return "b?id=" + param;
}
b.xhtml
<h:inputText value=#{param.id} />
通过以前的方式,我将 id 从 a.xhtml 传输到 b.xhtml,但我不想因为这一行而将“...b.xhtml?id=5555”之类的参数暴露在外面:
return "b?id=" + param;
ManagedBean 的范围是请求。我该怎么做才能解决这个问题?谢谢。