使用url参数从bean重新加载页面

时间:2015-07-28 10:37:28

标签: jsf url parameter-passing

我想在点击导入文件并执行后端操作的按钮后重新加载页面。

这很有效,但是当页面重新加载时,url-parameter缺失。

部分代码:

<h:commandButton value="File Upload" action="#{Bean.importFile}" >
</h:commandButton>

并在Bean中:

public String importFile(){
  //backend-stuff
  refreshPage();
  return null;
}

protected void refreshPage() {
  FacesContext fc = FacesContext.getCurrentInstance();
  String refreshpage = fc.getViewRoot().getViewId();
  ViewHandler ViewH =fc.getApplication().getViewHandler();
  UIViewRoot UIV = ViewH.createView(fc,refreshpage);
  UIV.setViewId(refreshpage);
  fc.setViewRoot(UIV);
}

网址为:this article

Bean有一个managedProperty来获取processId。

因此,如果我点击按钮,则重新加载的页面为:http://localhost:8080/ca/process.html?pid=12345

如何将?pid = 12345传递给我的Bean中的URL?

1 个答案:

答案 0 :(得分:-1)

您可能想要重定向:

FacesContext fc = FacesUtil.getFacesContext();
ExternalContext ec = fc.getExternalContext();
ec.redirect("redirection_url");