JSF视图参数和h:表单操作

时间:2012-10-18 09:17:30

标签: jsf

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

Handling view parameters in JSF after post

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

我想在h:form动作中插入“id = 123”部分,以便它返回到具有额外参数“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. 如果我重新提交帖子我会得到空值,但网址保持不变(test.html?id = xxx)
  3. 无法弄清楚为什么我在第二次提交时获得空值
  4. 第二个问题是,当我验证了表单并且一切正常时,我的提交方法返回一个新的URL“test.html?force-redirect = true ...”但是这不会发生,而是URL是与在h:form动作中输入的相同,(如果我使用新URL进行自定义重定向,那么它可以工作,我会被重定向到“test.html?faces-redirect = true ...”)。

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

    谢谢, 迪曼

0 个答案:

没有答案