当前位置 : 主页 > 编程语言 > java >

jsp – JSF中的响应对象

来源:互联网 收集:自由互联 发布时间:2021-06-25
我觉得这将是一个最短的答案将是一个问题:“这就是为什么JSF取代了JSP”,但我会继续问问题. 问题:我想知道:我可以获取JSF页面的Response对象(如果有的话)? 为何奇怪? :我发现自
我觉得这将是一个最短的答案将是一个问题:“这就是为什么JSF取代了JSP”,但我会继续问问题.

问题:我想知道:我可以获取JSF页面的Response对象(如果有的话)?

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

我觉得这样可以用更干净的方式完成,但看不出怎么样!

编辑:在它上面,我还会询问哪种方式最适合重定向到JSF页面.

提前感谢您的建议.

好吧,如果你想获得响应对象,你可以在JSF中使用它!

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

但是你真的不需要将响应对象仅用于重定向到JSF之外.使用以下方法可以更轻松地完成此操作:

ExternalContext externalContext = FacesContext.getCurrentInstance().getExternalContext();
externalContext.redirect("http://www.example.com/myJspPage.jsp");

编辑:

当您使用任何非动作方法时,您可以使用上述任何一种方法!但是当你使用任何动作方法时,正确的JSF重定向方式是:

public String goToOutsideAction(){
    ....
    return "/myPage.xhtml?faces-redirect=true"
}

该方法应返回上下文相关视图ID,目标必须是JSF页面.

网友评论