如何将托管bean中的查询字符串附加到url? JSF

时间:2010-03-21 16:36:04

标签: jsf

这种方法有用吗?

public String sayHello(){
    return "Hello.jsp?name=" + "laala";
}

我无法访问,使用上述方法查询字符串。我尝试了$ {param.name}以及request.getParameter(“name”)。它们都返回null。请帮忙!

2 个答案:

答案 0 :(得分:4)

点燃redirect ..

public void sayHello(){
    ExternalContext externalContext = FacesContext.getCurrentInstance().getExternalContext();
    externalContext.redirect("/Hello.jsp?name=" + "laala");
}

..或者如果您已经在JSF2上,那么只需在导航案例中定义它们:

<to-view-id>/Hello.jsp?name=#{bean.property}</to-view-id>

(虽然.jsp文件扩展名更少或更多暗示你还没有使用JSF2)

使用JSF2导航案例时,如果您希望新的URL反映在浏览器地址栏中,则需要添加<redirect/>条目,否则它只会执行转发

答案 1 :(得分:2)

也许这会对你有所帮助。 用h:commandLink

查看f:param

http://balusc.blogspot.com/2006/06/communication-in-jsf.html