JSF:提交Post-Form并附加GET-Parameters

时间:2012-11-22 11:01:54

标签: jsf primefaces

我有一个表单,有3个按钮。 (完成,保存,取消)

完成应结束任务并导航回任务概述。 保存应保存所做的更改并导航回任务详细信息 取消不应该保存任何东西,但导航回细节。

问题现在是“保存”:我不想提交表单并调用actionListener来执行“保存”。但是我想把一个id传递给按钮的“导航结果”

在普通的HTML中,它看起来像这样:

<form action="taskDetails?id=5" method ="post">
   ....
</form>

所以所有参数都是使用POST提交的,但是可以通过GET获取该ID。

我如何使用JSF Forms实现这一目标?

我的按钮目前看起来像:

 <h:form>
 ...
 <p:commandButton action="taskDetails" actionListener="taskEditBean.saveTask()" value="Save" />

 </h:form>

使用f:params这样:

 <h:form>
 ...
 <p:commandButton action="taskDetails" actionListener="taskEditBean.saveTask()" value="Save">
      <f:param name="id" value="5" />
 </p:commandButton>

 </h:form>

也使用POST提交...

1 个答案:

答案 0 :(得分:0)

如果我认为您的具体功能要求是正确的,那么这就是您所需要的:

<p:commandButton value="Save" action="#{taskEditBean.saveTask}" />

public String saveTask() {
    // ... 

    return "taskDetails?id=5&faces-redirect=true";
}

这将在POST后将重定向发送到所需的URL。