2010-03-21 30 views
1

该方法可以工作吗?如何将查询字符串从托管bean追加到url? JSF

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

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

回答

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/>项,否则将只是做一个转发

+0

您也可以使用' 2012-07-06 03:03:18

+0

@John:这不完全是OP要求的。 – BalusC 2012-07-06 04:54:06

+0

这是真@BalusC,但结果将是一个查询字符串,其中包括视图参数../Hello.jsp?name=something – 2012-07-06 16:51:43