我有一个适当的新手SEAM问题,我想将用户重定向到支持bean的不同页面
我知道在大多数情况下你应该使用pages.xml,但是根据bean逻辑可能会有许多不同的页面,所以看起来它应该比bean更容易.
我不能看到任何人这样做的例子,所以我猜有一个原因,也许这样的东西可以工作?? ...
ExternalContext ec = FacesContext.getCurrentInstance().getExternalContext();
((HttpServletRequest) ec.redirect("http://example.com/");
Run Code Online (Sandbox Code Playgroud)
您可以使用Redirect组件:
@Name("yourBean")
public class YourBean {
@In
Redirect redirect;
public void yourMethod() {
redirect.setViewId("/someView.xhtml");
redirect.setParameter("someParam", "someValue");
redirect.execute();
}
}
Run Code Online (Sandbox Code Playgroud)
或者使用FacesManager:
FacesManager.instance().redirect("/someView.xhtml", paramMap,
conversationPropagationEnabled, includePageParams);
Run Code Online (Sandbox Code Playgroud)
这些只适用于其他JSF视图(即.xhtml).如果您只想要任意URL,可以使用问题中提到的FacesContext.
| 归档时间: |
|
| 查看次数: |
3650 次 |
| 最近记录: |