Grails SpringSecurity属性的下拉/选择列表?

Grails SpringSecurity属性的下拉/选择列表?,grails,spring-security,selectlist,domain-model,Grails,Spring Security,Selectlist,Domain Model,我目前正在从事一个Grails项目,希望了解显示Spring安全域模型中对象选择列表的最佳方式: 我知道如何创建选择列表,但我只想找出grails中使用该域中的对象填充列表的最佳方法。我想调用类似“user.list(params)”的函数,然后将其传递给视图,这样我就可以访问该域中定义的对象,但我不能100%确定这是最好的方法还是可以这样做 提前谢谢 编辑 我在控制器中设置了以下自定义模型: class UserModel { String username

我目前正在从事一个Grails项目,希望了解显示Spring安全域模型中对象选择列表的最佳方式:

我知道如何创建选择列表,但我只想找出grails中使用该域中的对象填充列表的最佳方法。我想调用类似“user.list(params)”的函数,然后将其传递给视图,这样我就可以访问该域中定义的对象,但我不能100%确定这是最好的方法还是可以这样做

提前谢谢

编辑

我在控制器中设置了以下自定义模型:

class UserModel {
           String username
           String firstName
           String lastName

           def email = User.email.list()
           String[] emails = email

           static constraints = {
                username blank: false
                firstName blank: false
                lastName blank: false

           }
}
然后,当初始化此视图的索引页时,我将其传递给它:

[model: new UserModel(copy)]
最后,我认为:

<g:select name="emails" from="${model.emails}"

有人能帮忙吗??谢谢

你的方法看起来绝对正确。在控制器操作中,填充模型:

def listUsers = {
    [ 'users': Users.list( params ) ]
}
在视图中,使用模型填充列表框:

<g:select name="users" from="${ users }" />


你的问题看起来很简单,所以我希望,我已经正确地理解了问题背后的想法:-)

我一直在努力解决这个问题,并为我遇到的问题实施了解决方案,一切都很好。以下是我在控制器中为相关视图准备的内容:

def index = {
        [userList: Users(), command: new RegisterCommand(copy)]
    }

protected List Users() {
        lookupUserClass().list()
    }
列表用户从扩展类调用另一个函数,如下所示:

protected Class<?> lookupUserClass() {
        grailsApplication.getDomainClass(lookupUserClassName()).clazz
    }
受保护类lookupUserClass(){
grailsApplication.getDomainClass(lookupUserClassName()).clazz
}
然后,此视图呈现我要在选择列表中显示的项目列表:

<g:select name="emails" from="${userList.emails}" />

如果要查找唯一值,也可以执行此操作:

<g:select name="emails" from="${userList.emails.unique()}" />


感谢

我已经有一个模型被传递到视图中,我假设不可能将另一个模型传递到视图中,并且只有一个我没有的映射模型。我需要将用户电子邮件列表作为字符串[]添加到该自定义模型中,然后当整个模型被传递到视图中时,我从model.E-mail中填充slect列表。我该怎么做?
<g:select name="emails" from="${userList.emails.unique()}" />