list - 填充g:从查询中选择

标签 list grails select

试图成为grails转换我已经开始将现有的应用程序转换为Grails和Groovy。它工作得很好,但我卡在选择标签的转换上。

我有一个域类:

package todo

  class Person {

    String ssn
    String firstname
    String familyname
    String role
    String emailname
    String emailserver
    ...

当创建一个新的“待办事项”任务时,可能会从系统中那些属于开发人员的人那里分配一个所有者,而我开始工作了(来自PHP的相当直接的翻译):
<select id="owner" name="owner">
  <option>Noboby ...</option>
  <g:each in="${Person.list()}">
    <g:if test="${it?.role=='developer'}">
      <option value="${it?.id}">${it?.firstname} ${it?.familyname}</option>
    </g:if>
  </g:each>
</select>

但是,使它更加“粗糙”的任何尝试都失败了。如何将其模制成Grails v2.2.1代码?我花了几个小时阅读,尝试,失败。

最佳答案

试试这个代码:

<g:select optionKey="id" from="${Person.findAllByRole('developer')}" optionValue="${{it.fullName}}" value="${yourDomainInstance?.person?.id}" noSelection="['null':'Nobody']"></g:select>

在你的课上:
class Person {
....
String getFullName(){
   it?.firstname+' '+ it?.familyname
}

static transients = ['fullName']
....
}

有关更多详细信息,请参见g:select tag

关于list - 填充g:从查询中选择,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15519207/

相关文章:

javascript - JQuery - 分离然后将一个项目附加到列表中 - 为什么这个简单的示例不起作用?

hibernate - 在Grails 3中按WHERE子句过滤hasMany结果

grails - Grails在事务服务中获得令人讨厌的初始化异常

excel - 有没有办法使用 VBA 中的列号选择整列?

r - 将列表中多个矩阵的上三角复制到下三角

swift - 解码 RealmSwift 类中的可选对象列表

grails - 无法运行Grails应用程序

php - MySQL 获取两个用户之间的对话

php - 用同样的数据选择

python - 比较 2 个元素并循环 len(List)-1 时列表索引超出范围