【问题标题】:Selecting mulple values from select tag in grails从grails中的选择标签中选择多个值
【发布时间】:2011-07-27 09:30:45
【问题描述】:

我有 2 个域类,如下所示

class User
 {
  String userId
  String userName
  SsGroups groups
  **static hasMany = [groups:SsGroups]
  static belongsTo=SsGroups**
  }

 class SsGroups
  {
  String groupId
  **static hasMany = [users:User]**

  }

我实现了多对多关系,它工作得很好。现在我想从 SsGroups 中选择多个组到单个 User,这是 中的代码>用户,创建.gsp

<g:select name="groups.id" multiple="yes" from="${app.SsGroups.list()}"  optionKey="id"   value="${userInstance?.groups?.id}"  />

但在保存时出现错误提示 错误 500:执行控制器 [app.UserController] 的操作 [save] 导致异常:groovy.lang.MissingMethodException:没有方法签名:app.SsGroups.get() 适用于参数类型:(java.lang.String, java .lang.String) 值:[2, 3] 可能的解决方案:get(java.lang.Object)、getId()、getAt(java.lang.String)、list()、getAll()、getLog()。 请您指导我如何选择多个值并存储它们??

此控制器用户:

def save = {
    def userInstance = new User(params)
    if (userInstance.save(flush: true)) {
        flash.message = "${message(code: 'default.created.message', args: [message(code: 'user.label', default: 'User'), userInstance.id])}"
        redirect(action: "show", id: userInstance.id)
    }

其中没有get() 方法。我需要在哪里写getAll() 方法?

【问题讨论】:

  • 向您展示控制器方法\代码是否有帮助。

标签: grails


【解决方案1】:

这是因为params.groups.id 在您的多选控件中返回一组选定组,在本例中为“[2, 3]”。 使用getAll 方法而不是get 方法。 getAll 支持数组参数。

【讨论】:

    猜你喜欢
    • 2012-01-18
    • 1970-01-01
    • 2017-05-04
    • 1970-01-01
    • 2019-09-23
    • 2013-10-28
    • 2020-02-19
    • 2018-07-27
    • 1970-01-01
    相关资源
    最近更新 更多