0

这个问题是“扩展”以下帖子

发布后在 JSF 中处理视图参数

假设我正在创建一个在对话框中打开的自定义 URL。URL 示例“test.html?id=123”

我想将“id=123”部分插入到 h:form 操作中,以便它返回到带有额外参数“id=123”部分的相同视图。

我遵循了上面的帖子并研究了第三个解决方案,即扩展 ViewHandlerWrapper 的自定义 ViewHandler。

我正在修改操作,并且表单被重定向到相同的来源(直到现在它可以工作)。

第一个问题假设我有以下 xhtml 页面。

<f:metadata>
    <f:event type="preRenderView" listener="#{bean.init}" />
    <f:viewParam name="id" value="#{bean.id}"/>
</f:metadata>

<h:form>
    ...
    ...
</h:form>
  1. 当我发布上述内容时,我在后端获得了正确的 id 值。
  2. 如果我重新提交帖子,我会得到空值,但 url 保持不变(test.html?id=xxx)
  3. 无法弄清楚为什么我在第二次提交时得到空值

第二个问题是,当我验证表单并且一切正常时,我的提交方法返回一个新的 url “test.html?force-redirect=true...”,但这不会发生,而是 URL 与在 h:form 操作中输入的那个,(如果我使用新 URL 进行自定义重定向,那么它可以工作,我被重定向到“test.html?faces-redirect=true ...”)。

我的问题,我想是一个理论上的问题,这是假定的行为吗?

谢谢,迪曼

4

0 回答 0