grails - GSP表单参数附加到参数-需要覆盖

标签 grails groovy gsp

我有以下表格:

<g:form controller="${controllerName}" action="${actionName}" params="${params}">
    <g:select name="publisher_status" from="${['Active']}" value="${publisher_status}" noSelection="${[null:'No Filter']}" />
    <button type="submit" class="btn btn-default btn-primary btn-sm ">Apply</button>     
</g:form>

每次我提交此表单时,publisher_status值都会附加到上一个表单中,从而产生publisher_status=[null,'Active']等列表。我真正需要的是覆盖先前的值,因此我总是只有一个字符串。我在上面的表格的上面和下面尝试了以下内容,但是它不起作用:
  <g:set var="params" value="${params.remove('publisher_status')?params:params}"/>

关于如何解决这个问题有什么建议吗?

最佳答案

您不能像这样设置params,但是您可以过滤传递给g:form的 map :

<g:form controller="${controllerName}" action="${actionName}"
        params="${params.findAll {k, v -> k != 'publisher_status'}}">

关于grails - GSP表单参数附加到参数-需要覆盖,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28541278/

相关文章:

grails - Grails 3不会自动重新加载我的应用程序中的更改

bash - Jenkins - 将参数传递给 groovy 函数

grails - Grails多环境配置 block

Groovy 命名和默认参数

javascript - GSP 中的 Onclick 删除功能问题

grails - 同一页上有多个表和可排序列的问题

grails - grails 是否支持在 gsp 页面中使用 JSTL 核心 taglib 中的 "forEach"?

hibernate - Grails中的悲观锁定3+ lock()

grails - 在 Grails 中,如何获得鉴别器值?

Grails - 用于 Quartz 插件持久性的数据库迁移