2010-04-28 97 views
0

如何将变量从JSF托管bean传递给JSP页面。 PS:我在门户上下文(liferay)中。如何将变量从jsf托管bean传递给jsp页面

我尝试这样做:

在Managed Bean的

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

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

在JSP:

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

我没有得到任何结果。

+0

向我们展示了如何从托管bean“移动”到jsp - 重定向,转发,导航规则(它看起来像什么) – Bozho 2010-04-28 17:57:33

+1

为什么不将它设置为JSF bean属性并在JSP中访问它通常的EL方式? – BalusC 2010-04-28 18:25:33

+0

谢谢BalusC, jsf应用程序是一个portlet,并且jsp页面在另一个portlet中写入jsp标签中没有jsf,它是一个lifray portlet。 我也在你的博客中看到关于“JSF中的通信”的文章,对于我的情况,它位于liferay的jsp页面和jsf托管bean之间。 – cyberziko 2010-04-29 09:07:23

回答

1

你必须停留在相同的请求 - 即转发,而不是重定向到jsp。

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

0

您可能会尝试用JSF标记包装您的scriptlet代码。

相关问题