【问题标题】:How to set default value in grails g:select?如何在 grails g:select 中设置默认值?
【发布时间】:2014-04-16 10:52:48
【问题描述】:

我有域对象 City

City{
Long id
String city
...
 String toString() {
        return "$city"
 }
}

说桌子是这样的。

id  name 
1   ABC
2   PQR
3   XYZ

我在 gsp 这样填充的城市列表

<g:select name="city" from="${City.list()}"  />

现在我需要填充来自控制器的默认城市值

cmd.city = "PQR"
render template:'messageDisplay', model:[cmd: cmd]

现在我正在尝试在选择列表中填充默认值“PQR”

<g:select name="city" from="${City.list()}" value="${cmd.city}" />

但“PQR”不显示为默认值。

【问题讨论】:

    标签: grails grails-orm gsp


    【解决方案1】:

    您有 Strings 和 City 对象并正在尝试比较它们...

    将您的选择更改为:

    <g:select name="city"
              from="${City.list()}"
              value="${cmd?.city?.id}"
              optionKey="id" />
    

    在你的控制器中:

    cmd.city = City.findByName( "PQR" )
    

    【讨论】:

    • 哦!可以反过来做吗?像我可以得到带有城市名称而不是城市对象的字符串列表吗?
    • 你可以试试:from="${City.list().name}"
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-11-14
    • 2013-05-06
    • 1970-01-01
    • 1970-01-01
    • 2014-02-16
    • 2010-12-02
    • 2010-11-14
    相关资源
    最近更新 更多