Jsf 来自托管bean的POST重定向

Jsf 来自托管bean的POST重定向,jsf,Jsf,我有一个简单的JSF和托管bean,当页面呈现并且某些条件为真时,我需要进行POST重定向。JSF: <h:panelGroup rendered="#{myBean.error=null}"> <p>Some data</p> </h:panelGroup> 但我需要使用POST参数将用户导航到重定向URL,但找不到如何操作。 使用按钮,它将如下所示: <form method='post' action="myUrl">

我有一个简单的JSF和托管bean,当页面呈现并且某些条件为真时,我需要进行POST重定向。JSF:

<h:panelGroup rendered="#{myBean.error=null}">
    <p>Some data</p>
</h:panelGroup>
但我需要使用POST参数将用户导航到重定向URL,但找不到如何操作。 使用按钮,它将如下所示:

<form method='post' action="myUrl">
    <input type='hidden' name='param1' value='value1'/>
    <input type='hidden' name='param2' value='value2'/>
    <input name='button'  type='submit' value="Button">
</form>

你想通过这种方式实现的目标是不可能的

重定向将向客户端发送一个http 302状态代码,其中包含一个位置头,该位置头包含一个要重定向到的url。然后客户端将向该url发出get请求,您的帖子数据将丢失

要实现这一点,还有其他方法,以下是一些想法

  • 您可以使用方法转发请求,请参阅以了解差异。请注意,这不会更改浏览器地址栏中的url
  • 您可以将post数据存储在用户的会话中

选项3:使用过滤器,让JSF退出。
<form method='post' action="myUrl">
    <input type='hidden' name='param1' value='value1'/>
    <input type='hidden' name='param2' value='value2'/>
    <input name='button'  type='submit' value="Button">
</form>