GRAILS select 出现问题 - 尝试为下拉列表中显示为文本的字段插入数字

发布于 2024-10-15 07:43:54 字数 1031 浏览 4 评论 0原文

这是我定义的域类:

package mypackage

public enum UFModeType { 我(0), O(1), R(3)

Integer mode
public UserFileModeType(Integer mode) {
    this.mode = mode;
}
static list() {
    [I, O, R]
}

}

这是另一个域 Parent 的属性,如下所示:

package mypackage 类父级{ 字符串名称 ………… UFModeType uFMode

static mapping = {
    table 'parent_table_with_ufMode_col_as_number'
    version false
    tablePerHierarchy false
    id generator:'sequence', params:[sequence:'myseq']
    columns {
        id column:'parentid'
        uFMode column: 'UFMODE'
    }
}

static constraints = {
    userFileMode(nullable: true)
}

}

gsp 调用如下所示: g:select name="uFMode" from="${mypackage.UFModeType?.list()}" value="${parentInstance?.uFMode?.name()}" /

我已经尝试了上面的很多变体在 gsp 调用中,但我收到错误,数据库插入失败,表示 ufmode 的条目是无效数字,因此这不会作为数字传递。我在控制器保存中打印了参数,它显示了以下内容: save=[uFMode:I 中的参数...

我确信我可能在语法中遗漏了一些小东西,但我已经尝试了很多东西但没有取得太大成功,因此任何输入将不胜感激。

谢谢!

Here is the domain class I have defined:

package mypackage

public enum UFModeType {
I(0),
O(1),
R(3)

Integer mode
public UserFileModeType(Integer mode) {
    this.mode = mode;
}
static list() {
    [I, O, R]
}

}

This is a property of another domain Parent where it is as follows:

package mypackage
class Parent {
String name
... ... ...
UFModeType uFMode

static mapping = {
    table 'parent_table_with_ufMode_col_as_number'
    version false
    tablePerHierarchy false
    id generator:'sequence', params:[sequence:'myseq']
    columns {
        id column:'parentid'
        uFMode column: 'UFMODE'
    }
}

static constraints = {
    userFileMode(nullable: true)
}

}

The gsp call for this looks like this:
g:select name="uFMode" from="${mypackage.UFModeType?.list()}" value="${parentInstance?.uFMode?.name()}" /

I have tried a lot of variants of the above in the gsp call but I am getting error that the db insert fails saying the entry of ufmode is invalid number, thus this is not being passed as a number. I printed the params in the controllers save and it shows this:
Params in save=[uFMode:I ...

I am sure I may be missing some minor thing in syntax, but I have tried a lot of things without much success, so any inputs will be greatly appreciated.

Thanks!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

香橙ぽ 2024-10-22 07:43:54

尝试更改

value="${parentInstance?.uFMode?.name()} 

value="${parentInstance?.uFMode?.mode()}

根据您提供的 UFModeType 定义,您没有 name 属性。

Try changing

value="${parentInstance?.uFMode?.name()} 

to

value="${parentInstance?.uFMode?.mode()}

From the definition of UFModeType you give you do not have a name attribute.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文