Jsf 未经授权正确使用h:

Jsf 未经授权正确使用h:,jsf,jsf-2,parameters,Jsf,Jsf 2,Parameters,使用h:inputHidden在页面之间发送参数的正确方法是什么?此标记用于呈现HTML隐藏的输入标记: 标记可用于在视图和托管bean之间发送其值。使用时,它不会通过视图显示,但它应该将占用的任何属性/参数发送到相应的视图/托管bean。但是,当有其他方法(请求参数、作用域会话等)时,此标记不应在视图之间保存和传输数据。此标记旨在呈现HTML隐藏的输入标记: 标记可用于在视图和托管bean之间发送其值。使用时,它不会通过视图显示,但它应该将占用的任何属性/参数发送到相应的视图/托管bean。然

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

此标记用于呈现HTML隐藏的输入标记:


标记可用于在视图和托管bean之间发送其值。使用时,它不会通过视图显示,但它应该将占用的任何属性/参数发送到相应的视图/托管bean。但是,当有其他方法(请求参数、作用域会话等)时,此标记不应在视图之间保存和传输数据。

此标记旨在呈现HTML隐藏的输入标记:


标记可用于在视图和托管bean之间发送其值。使用时,它不会通过视图显示,但它应该将占用的任何属性/参数发送到相应的视图/托管bean。然而,当有其他方法(请求参数、作用域会话等)时,这个标记不应该在视图之间保存和传输数据。

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

在视图之间发送参数所需的是附加到
h:button
h:commandLink
f:param
标记,以便在执行重定向时执行单独的GET请求或直接附加参数

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

另请参见:


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

      在视图之间发送参数所需的是附加到
      h:button
      h:commandLink
      f:param
      标记,以便在执行重定向时执行单独的GET请求或直接附加参数

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

      另请参见:


      @Omar,在视图之间发送参数是什么意思?我想最好用一些例子来解释一下code@kuba44,这里有一个简单的示例,可以在托管bean和视图之间的一个有用案例中实现这一点:。虽然在视图之间传输数据似乎不感兴趣,但有其他方法(请求参数、作用域会话等)。@XtremeBiker,我指的是问题所有者的意思:在视图之间发送h:InAuthiden字段值。@Omar,AFAIK隐藏输入只能用于POST请求。要在视图之间切换,您需要以某种方式执行GET,这就是隐藏输入不相关的地方。你需要一个视图参数或使用flash scope(即使它在Mojarra仍然有bug,希望他们能为2.1.27-2.2.5分支解决它)。@XtremeBiker,我同意你的看法。这就是为什么他们在这种情况下没有目的性。更新,谢谢。@Omar,在视图之间发送参数是什么意思?我想最好用一些例子来解释一下code@kuba44,这里有一个简单的示例,可以在托管bean和视图之间的一个有用案例中实现这一点:。虽然在视图之间传输数据似乎不感兴趣,但有其他方法(请求参数、作用域会话等)。@XtremeBiker,我指的是问题所有者的意思:在视图之间发送h:InAuthiden字段值。@Omar,AFAIK隐藏输入只能用于POST请求。要在视图之间切换,您需要以某种方式执行GET,这就是隐藏输入不相关的地方。你需要一个视图参数或使用flash scope(即使它在Mojarra仍然有bug,希望他们能为2.1.27-2.2.5分支解决它)。@XtremeBiker,我同意你的看法。这就是为什么他们在这种情况下没有目的性。更新了,谢谢。那么你怎么说:?如果我想使用
      h:inpurthidden
      我是否添加了数据,请执行一个
      @ViewScope
      bean,并通过其他
      @ManagedProperty
      bean中的
      @ViewScope
      获取它?首先,这是一个关于请求范围环境的链接。JSF1.x没有提供维护视图状态的功能,因此您应该使用
      h:inputHidden
      属性来维护视图状态,这些属性在客户端连续缓存当前状态,以便手动模拟当前的
      @ViewScoped
      行为。这篇文章并没有特别提到JSF1.x,但我几乎可以肯定它是面向那个(2010年)的。这里没有视图概念,他们只讨论请求和重定向。而且,即使它提到了
      h:inpurthidden
      ,也与您所寻找的平均值无关。忘记
      h:inpurthidden
      。它在JSF2.x环境中不再有用,除非您想执行一些特定于Java脚本的工作?如果我想使用
      h:inputHidden
      我是否添加了数据,请执行一个
      @ViewScope
      bean和ge