如何在端口号

时间:2015-12-15 17:10:36

标签: jsf

我正在开发jsf项目。我想删除URL中的项目名称。我想要http://localhost:8080而不是http://localhost:8080/simpleJSF1/。问题出在我的java代码中,我必须编写项目名称以重定向到另一个页面。就像这样。

FacesContext.getCurrentInstance().getExternalContext().redirect("/simpleJSF1/login.xhtml");

如果我能以某种方式从url中删除项目名称,那么我可以像这样写  FacesContext.getCurrentInstance().getExternalContext().redirect("/login.xhtml");

而不是 FacesContext.getCurrentInstance().getExternalContext().redirect("/simpleJSF1/login.xhtml");

任何帮助将不胜感激。提前谢谢。

1 个答案:

答案 0 :(得分:1)

您可以简单地使用ExternalContext提供的上下文 - 这样既不硬编码也不限于ROOT背景。

FacesContext ctx= FacesContext.getCurrentInstance();
ServletContext servletContext = (ServletContext) ctx.getExternalContext().getContext();
ctx.getExternalContext().redirect(
    servletContext.getContextPath() +"/login.xhtml");