grails - Grails看不到数据库表的内容

标签 grails gorm

我正在使用Grails 2.4.4和postgresql。当我运行应用程序时,我看到错误消息Cannot get property 'myname' on null object。我知道表不是空的并且数据库连接正确,因为我可以使用脚手架上传并查看数据。

域类代码:

class My_table {

     //Integer id
     String myname

     static constraints = {}
}

Controller 代码:
class My_tableController {

def index() {
    def my_table = My_table.list()
    [my_table:my_table] 
}

我的index.gsp文件:
<g:select name="name" from="${my_table}"/><br/>
    <label>${my_table.myname} </label><br/>

最佳答案

以我看到的形式,此行中发生了错误:<label>${my_table.myname} </label><br/>

在这里,您在上下文之外调用属性名称
<g:select name="name" from="${my_table}"/><br/> <label>${my_table.myname} </label><br/>
因为my_tableMy_table实例的列表,并且没有名为name的属性,所以会出现错误。

解决此问题的方法可能是:

<select name="name">
    <g:each in="${my_table}" var="table">
        <option value="${table.name}">${table.name}</option>
    </g:each>
</select>

还要记住,标签标记在选择内无效,因为您可以读取“允许的内容”零个或多个<option><optgroup>元素。在https://developer.mozilla.org/en-US/docs/Web/HTML/Element/select

关于grails - Grails看不到数据库表的内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46770835/

相关文章:

unit-testing - Grails域映射通过 “none”无法在单元测试中使用

grails - grails不保存就插入DB,为什么呢?

grails - 寻找grails服务类的拦截器

Grails - 域记录未在 .Save() 上更新

apache - 安装插件后Grails Apache中断了吗?

hibernate - Grails Domain Binder.getMapping(Domain)对于Grails-3.2.4中的非持久性域返回null

grails - 将具有预定义值的域类映射到表

grails - 使用Grails GORM和MySQL的乐观锁定异常

unit-testing - Grails中的Micronaut声明式客户端:如何模拟它?

java - 如何在grails中运行java程序?