我有一个执行POST的commandLink,并且bean中的动作侦听器用这样的新参数填充请求映射
FacesContext.getCurrentInstance().getExternalContext().getRequestMap().put("confirmationWindowMessage","test");
在视图中,如果我#{param['confirmationWindowMessage']}
,则不会显示任何内容。为什么会这样?
动作侦听器不会重定向到另一个视图,因此视图是相同的。
答案 0 :(得分:2)
您不能也不应该填写#{param}
对象。这是一个客户控制的地图。此外,任何尝试都应该getRequestParameterMap()
,而不是getRequestMap()
。 getRequestMap()
表示请求属性,而不是请求参数。
请求属性仅由#{attributeName}
提供。因此,在您的特定情况下:
<p>#{confirmationWindowMessage}</p>
另一种方法是将其作为请求范围bean的属性。或者甚至更好,一个面孔消息。