Grails 从一个域读取到另一个域



我创建了 2 个域类,它们是

职责时髦:

    class Duty {
               String username
               String duty
    }

User.groovy:

    class User {
               String username
    }

我已经在 Bootstrap.groovy 中分配了一些用户,我想创建一个职责列表函数来向用户分配职责。因此,在我的职责列表中,它应该包含一个下拉列表,其中包含来自用户域的用户列表。

但是当我在我的 gsp(在职责域中(文件中导入 testApp.User 并创建一个标签库来显示用户列表时,我的编译器显示没有这样的属性。我想征求建议,以最佳方式显示从我的职责域到用户域的用户列表?

下面是其他代码:SelectUserTagLib.groovy

    import HR_System.User
    def userInstance = new User()
    def displayType = { attrs,body -> 
    def name = attrs.name 
    out << "<select id="${name}" name="${name}" require="" >"
    out << "<g:each in='${userInstanceList}'' status='i' var='userInstance'>"
    out << "<option value="${name}">${fieldValue(bean: userInstance, field: "username")}</option>"
    out << "</g:each>"
    out << "</select>"
}

_form.gsp:

    <name:displayType name="username" />

我认为您实际上并不需要自定义标签库来实现此目的。你可以用简单的g:select来做到这一点。

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

你可以在grails docs: https://docs.grails.org/latest/ref/Tags/select.html 中阅读它。

如果您有任何问题,请询问。

如果将模型调整为真正的域模型,则如下所示:

    class User {
               String username
    }
    class Duty {
               User user
               String duty
    }

然后 Grails 会自动为您的Duty类搭建 GSP 视图的脚手架,并包含User下拉菜单

相关内容

  • 没有找到相关文章

最新更新