jsf - 通过 post 在 url 中设置参数

标签 jsf commandbutton

我想通过 post 在 url 中设置参数,但此页面仅执行一个方法并使用 h: commandButton 更新页面。

<h:commandButton value="Simular" 
                action="#{simulador.simular()}" 
                style="margin:0 4px 0 0;"   
                immediate="true">
       <f:ajax render="@form" immediate="true"/>
</h:commandButton>

我怎样才能实现这个目标?

最佳答案

URL 仅在同步请求时更改。仅可在 GET 请求中将查询字符串添加到 URL。在 POST 之后发送重定向是创建同步 GET 请求的一种方法。

public String simular() {
    // ...

    return "page.xhtml?foo=42&faces-redirect=true";
}

这将重定向到 /context/page.xhtml?foo=42

如果您实际上不需要在基于回发的操作方法中执行任何业务逻辑,那么您也可以只使用普通按钮而不是命令按钮。

<h:button value="Simular" outcome="page.xhtml">
    <f:param name="foo" value="42" />
</h:button>

关于jsf - 通过 post 在 url 中设置参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16149532/

相关文章:

jsf - 未调用commandButton/commandLink/ajax操作/监听器方法或未设置/更新输入值

jsf - 使用 h :commandButton 通过 POST 打开新窗口

JSF - 在页面刷新时更新 JSF 数据表

JSF Controller 忽略 @RolesAllowed 注释

jsf - 如何在 JSF 中创建切换按钮?

css - 如何将样式应用于 <h :commandButton> from external CSS in jsf 2. 0?

jsf - 如何预选 h :selectOneMenu 的选项

jsf - Primefaces 多个要显示的动态内容面板

java - 从 JSF 1.2 迁移到 2.0 的问题

javascript - 如何在表单提交之前将 bean 值传递给 JavaScript