填充param隐含对象

时间:2015-01-28 10:16:47

标签: jsf parameters

我有一个执行POST的commandLink,并且bean中的动作侦听器用这样的新参数填充请求映射

FacesContext.getCurrentInstance().getExternalContext().getRequestMap().put("confirmationWindowMessage","test");

在视图中,如果我#{param['confirmationWindowMessage']},则不会显示任何内容。为什么会这样? 动作侦听器不会重定向到另一个视图,因此视图是相同的。

1 个答案:

答案 0 :(得分:2)

您不能也不应该填写#{param}对象。这是一个客户控制的地图。此外,任何尝试都应该getRequestParameterMap(),而不是getRequestMap()getRequestMap()表示请求属性,而不是请求参数。

请求属性仅由#{attributeName}提供。因此,在您的特定情况下:

<p>#{confirmationWindowMessage}</p>

另一种方法是将其作为请求范围bean的属性。或者甚至更好,一个面孔消息。