如何在GSP中选择标记为空(非空)的第一个值?

时间:2011-08-26 04:59:32

标签: grails gsp

这是我的域类Incident

 class Incident {
      String status
     Usergroup assignmentGroup
     static hasMany={usergroups:Usergroup}
  }

我想通过assignmentGroup找到所有事件。我正在使用GORM标准

这是searchIncident.gsp

 <tr class="prop">
       <td valign="top" class="name">
          <label for="assignmentGroup"><g:message code="incident.assignmentGroup.label" default="Assignment Group" /></label>
       </td>
       <td valign="top" class="value ${hasErrors(bean: incidentInstance, field: 'assignmentGroup', 'errors')}">
           <g:select  id="groupSelect" name="assignmentGroup.id" from="${app.Usergroup.list()}" optionKey="id"  value=""  />
       </td>
  </tr>
   <tr class="prop" >
     <td valign="top" class="name">
        <label for="status"><g:message code="incident.status.label" default="Status" /></label>
     </td>
     <td valign='top' class='value'>
       <g:select name='status'  from='${[""] + new Incident().constraints.status.inList}'>
       </g:select>
     </td> 
    </tr>

在我的选项标签中,我必须选择第一个空值(非空)。

1 个答案:

答案 0 :(得分:5)

如果我理解了,你需要包含noSelection属性,如:

// use a no selection with a nullable Object property (use 'null' as key)
<g:select id="type" name='type.id' value="${person?.type?.id}"
    noSelection="${['null':'Select One...']}"
    from='${PersonType.list()}'
   optionKey="id" optionValue="name"></g:select>

有关详情,请参阅此处的grails文档:http://grails.org/doc/latest/ref/Tags/select.html

吉姆