我有以下表格:
<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}"/>
有关如何解决此问题的任何建议?
答案 0 :(得分:2)
您无法设置params
,但您可以过滤传递给g:form
的地图:
<g:form controller="${controllerName}" action="${actionName}"
params="${params.findAll {k, v -> k != 'publisher_status'}}">