<h:outputLink value="#{beanname.path}">
<h:outputText value="Output label"></h:outputText>
<f:param name name="name" value="tommy"/>
</h:outputLink>
http://127.0.0.1:7101/projectt/faces/index.jsp?name=tommy 我的网址带有参数值。我想将它隐藏在URL中并将其放入bean类中。
答案 0 :(得分:4)
那么,你想要一个POST请求吗?请改用<h:commandLink>
。
<h:form>
<h:commandLink value="Output label" action="#{beanname.outcome}">
<f:param name name="name" value="tommy"/>
</h:commandLink>
</h:form>
参数可以设置为
@ManagedProperty("#{param.name}")
private String name;
或者可以通过<f:setPropertyActionListener>
代替:
<h:form>
<h:commandLink value="Output label" action="#{beanname.outcome}">
<f:setPropertyActionListener target="#{beanname.name}" value="tommy"/>
</h:commandLink>
</h:form>
或当您已经使用支持Servlet 3.0 / EL 2.2的容器(Tomcat 7,Glassfish 3等)时,只需将其作为操作方法参数传递:
<h:form>
<h:commandLink value="Output label" action="#{beanname.outcome('tommy')}" />
</h:form>
与
public String outcome(String name) {
// ...
return "index";
}