【问题标题】:having trouble redirecting bean from servlet to jsf .xhtml page [duplicate]无法将 bean 从 servlet 重定向到 jsf .xhtml 页面 [重复]
【发布时间】:2016-02-21 23:27:14
【问题描述】:

我正在尝试将 bean 从 servlet 重定向到 jsf 页面。这是一个学校项目,我曾向我的教授寻求帮助,他提供了以下代码作为解决方案。我看到它在我的项目中完美运行,但在他的机器上运行,因为我去他的办公室寻求帮助。现在我回家了,我在我的项目中添加了相同的四行代码,但它没有重定向到 .xhtml 页面。

调试显示它在 ExternalContext 行失败。此外,当捕获异常时,堆栈跟踪只会显示“null”。我不明白为什么我的项目(我在教授计算机上看到的完全相同的代码)不起作用。哈哈。

getServletContext().setAttribute("bean", myBean);
FacesContext facesContext = FacesContext.getCurrentInstance();
ExternalContext externalContext = facesContext.getExternalContext(); //failing here
externalContext.redirect("myJSPPage.xhtml");

【问题讨论】:

    标签: java jsf servlets jsf-2


    【解决方案1】:

    FacesContext 只能在FacesServlet 控制当前请求时存在,否则FacesContext.getCurrentInstance() 将返回null。如果在 JSF 托管 bean 内的方法中执行此代码,它将起作用。所以,也许您只是复制了这段代码并将其粘贴到您的自定义 servlet 中。

    【讨论】:

    • 嗯,谢谢。我看到它工作正常。我需要在我的 web.xml 文件或持久性单元中设置什么吗?我让我的教授从他的机器上通过电子邮件发送了修改后的工作代码,但是当我尝试在我的机器上运行它时,同样的问题。我确实检查了我的 xml 文件,一切都一样。身份证
    猜你喜欢
    • 1970-01-01
    • 2012-11-19
    • 2014-06-02
    • 2015-09-30
    • 1970-01-01
    • 1970-01-01
    • 2013-05-27
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多