我有以下表格:
<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/