jsp - JSF 中的响应对象

标签 jsp jsf response.redirect

我觉得这将是一个最短答案的问题:“这就是 JSF 取代 JSP 的原因”,但我会继续问它。

问题:我想知道:我能否获得 JSF 页面的 Response 对象(如果有的话)?

为什么奇怪? :我发现自己处于需要从 JSF 页面传递到 JSP 页面的情况,所以我想为什么不从从 JSF 页面调用的 bean 重定向(使用 response.sendRedirect )然后......可以看到它的去向。

我觉得这可以以更清洁的方式完成,但不知道怎么做!

编辑:同时,我还将询问哪种方式最适合从 JSF 页面重定向。

预先感谢您的建议。

最佳答案

好吧,如果您想获得 response对象,您可以在 JSF 中拥有它像下面这样!

HttpServletResponse response = (HttpServletResponse) FacesContext.getCurrentInstance().getExternalContext().getResponse();

但你真的不需要得到 response对象仅重定向到 JSF 之外.这可以通过以下方式更轻松地完成:
ExternalContext externalContext = FacesContext.getCurrentInstance().getExternalContext();
externalContext.redirect("http://www.example.com/myJspPage.jsp");

编辑 :

当您在任何 不作为方法,你可以使用以上任何一种!但是当你在任何 行动方法,正确 JSF重定向的方式是:
public String goToOutsideAction(){
    ....
    return "/myPage.xhtml?faces-redirect=true"
}

该方法应该返回一个上下文相关的 View ID,目标必须是一个 JSF 页面。

关于jsp - JSF 中的响应对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16776981/

相关文章:

java - 将 Html 图像输入保存为 java 文件

jsf - 禁用 <p :calendar> 中的过去日期

c# - response.redirect 从一个 ASP.NET Web 应用程序到另一个

c# - Asp.net Response.Redirect - 不正确的推荐人

jsf - 是否有可以关闭 primefaces 覆盖面板的 java 命令?

javascript - 在重定向到 ASP.NET c# 中的另一个页面之前显示 ClientScript 警报?

java - Struts2.3.20 Helloworld错误: The requested resource is not available

java - 为什么java将double转换为指数形式

javascript - JSP - Javascript,根据选择选项值更新表字段

jquery - 是否可以在单击鼠标的任何地方创建一个文本框?