正确使用h:inputHidden

时间:2014-01-03 00:05:50

标签: jsf jsf-2 parameters

使用h:inputHidden在页面之间发送参数的正确方法是什么?

2 个答案:

答案 0 :(得分:3)

这在JSF中是不可能的(HTTP协议本身不能像那样工作)。你称之为页面的是JSF中的一个视图,由导航案例或结果给出。 h:inputHidden基本上是表单的另一个输入,当提交表单时,该表单将被发送到当前视图的托管bean。

在视图之间发送参数所需的是附加到f:paramh:button的{​​{1}}标记,以便执行唯一的GET请求或在执行重定向时直接附加参数

还有可能使用2.x规范中指定的JSF闪存范围,但Mojarra尚未正确实现。在它解决之前,您可以以某种方式破解h:commandLink bean,在那里设置您需要的参数,并在获取它们之后立即删除它们。不过,您也可以为此实现自己的自定义范围。

另见:

答案 1 :(得分:1)

此标记用于呈现HTML隐藏的输入标记:<input type="hidden" ... /> 标记可用于在view和managed-bean之间发送其值。使用时,它不会通过视图出现,但它应该将占用的任何属性/参数发送到相应的视图/托管bean。但是,此标记不应该在视图之间保存和传输数据,而有其他方法可以执行(请求参数,范围会话等)。