【问题标题】:How to pass variable from jsf managed bean to jsp page如何将变量从jsf托管bean传递到jsp页面
【发布时间】:2011-02-13 11:40:46
【问题描述】:

如何将变量从 JSF 托管 bean 传递到 JSP 页面。

PS:我在门户环境中(liferay)。

我试过了:

在托管 Bean 中:

HttpServletRequest request = (HttpServletRequest) FacesContext.getCurrentInstance().getExternalContext().getRequest();

request.setAttribute("var", "someTxt");

在 JSP 中:

<% 
    String var = (String)request.getAttribute("var");
%> 

我没有得到任何结果。

【问题讨论】:

  • 向我们展示您如何从托管 bean “移动”到 jsp - 重定向、转发、导航规则(它是什么样的)
  • 你为什么不把它设置为一个 JSF bean 属性并以通常的 EL 方式在 JSP 中访问它?
  • 谢谢BalusC,jsf应用程序是一个portlet,jsp页面在另一个portlet中,用jsp标签写没有jsf,它是一个lifray portlet。我还在你的博客中看到了一篇关于“JSF 中的通信”的帖子,就我而言,它位于 liferay 的 jsp 页面和 jsf 托管 bean 之间。

标签: jsp session jsf liferay portal


【解决方案1】:

你必须停留在同一个请求中——即转发,而不是重定向到 jsp。

如果这不可能,您可以使用会话而不是请求,但要小心在那里存储太多信息。

【讨论】:

    【解决方案2】:

    您可以尝试使用 JSF 标记包装您的 scriptlet 代码。

    【讨论】:

      猜你喜欢
      • 2011-10-13
      • 2015-03-25
      • 2014-12-23
      • 1970-01-01
      • 2015-05-15
      • 2011-07-19
      • 1970-01-01
      • 1970-01-01
      • 2017-03-02
      相关资源
      最近更新 更多