当我使用 ${projectList} 在网页上打印时,我有一个看起来像这样的字符串数组:
[foo,bar,foo "bar"]
我有一个带有选择的表单:
<g:select class="form-control sbt-color" name='project' value ='${params.project.encodeAsHTML()}' from='${projectList}'/>
如果我选择 'foo "bar"' params.project 将只会得到 'foo '。有没有办法在不更改源数据的情况下解决这个问题?
更新: 到目前为止我发现的唯一解决方法是使用:
<g:select class="form-control sbt-color" name='project' value ='${params.project}' from='${projectList*.replaceAll("\"","""}'/>
这给了我想要的 params.project ,但是在选择列表本身中,双引号被 "替换,看起来很糟糕。
最佳答案
删除 .encodeAsHTML()
后,这将起作用。试试这个
<g:select class="form-control sbt-color" name='project' value ='${params.project}' from='${projectList}'/>
关于Grails - 在参数中转义双引号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30477394/