这个问题是“扩展”以下帖子
假设我正在创建一个在对话框中打开的自定义 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>
- 当我发布上述内容时,我在后端获得了正确的 id 值。
- 如果我重新提交帖子,我会得到空值,但 url 保持不变(test.html?id=xxx)
- 无法弄清楚为什么我在第二次提交时得到空值
第二个问题是,当我验证表单并且一切正常时,我的提交方法返回一个新的 url “test.html?force-redirect=true...”,但这不会发生,而是 URL 与在 h:form 操作中输入的那个,(如果我使用新 URL 进行自定义重定向,那么它可以工作,我被重定向到“test.html?faces-redirect=true ...”)。
我的问题,我想是一个理论上的问题,这是假定的行为吗?
谢谢,迪曼