Grails g:选择optionValue

时间:2014-07-07 09:25:28

标签: grails gsp

我有一个grails元素

<g:select name="name" from="${list}" optionKey='code' optionValue='name' ></g:select>

其中optionValue包含一些像这样的HTML元素,

enter image description here

我想只显示国家名称,我已尝试使用encodeAsHTML(),但不知道如何使用。请建议。

谢谢

2 个答案:

答案 0 :(得分:1)

您无法使用开箱即用g.select标记执行此操作。您需要手动遍历列表:

<select name="someName">
  <option value="">- no select -</option>
  <g:each in="${list}" var="c">
    <option value="${c.code}">${c.name.replaceFirst( /<span class='countryName'>([\w\s]+)</span>/, '$1' )}</option>
  </g:each>
</select>

答案 1 :(得分:1)

这是因为XSS而发生的。而不是encodeAsHTML使用raw。试试这个:

<g:select name="name" from="${list.collect { raw(it) }}" optionKey='code' optionValue='name'/>