Grails:使用index.gsp中的控制器

发布于 2024-10-04 14:23:47 字数 418 浏览 3 评论 0原文

我是 grails 的新手,我想在我的 index.gsp 中使用特定控制器的方法

在我尝试过的 Index.gsp 中,

<g:each in="${MyController.myList}" var="c">
     <p>${c.name}</p>
</g:each>

但它说该属性不可用。

MyController 包含一个属性,例如:

   def myList = {
       return [My.findAll()  ]
   }

我做错了什么?有关于 grails 部件之间通信的好的教程吗?

或者有没有更好的方法来通过 gsp 打印信息?

谢谢

i am new to grails and i want to use a method from a specific controller in my index.gsp

In Index.gsp i tried

<g:each in="${MyController.myList}" var="c">
     <p>${c.name}</p>
</g:each>

but it says that the property is not available.

MyController contains a property like:

   def myList = {
       return [My.findAll()  ]
   }

What am i doing wrong? Is there a good tutorial about the communication between the grails-parts?

Or is there a better way to get information printed via gsp?

Thanks

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

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

发布评论

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

评论(1

离旧人 2024-10-11 14:23:47

一般来说,当使用 Model-View-Controller 模式时,您不希望视图知道关于控制器的任何事情。控制器的工作是将模型提供给视图。因此,您应该让控制器处理它,而不是让 index.gsp 直接响应请求。然后控制器可以获得所有必需的域对象(模型),并将它们传递到视图。例子:

// UrlMappings.groovy
class UrlMappings {
    static mappings = {
        "/$controller/$action?/$id?"{
            constraints {
                // apply constraints here
            }
        }

        "/"(controller:"index") // instead of linking the root to (view:"/index")
        "500"(view:'/error')
    }
}

// IndexController.groovy
class IndexController {
    def index() {  // index is the default action for any controller
        [myDomainObjList: My.findAll()] // the model available to the view
    }
}

// index.gsp
<g:each in="${myDomainObjList}" var="c">
    <p>${c.name}</p>
</g:each>

Generally, when using the Model-View-Controller pattern, you don't want your view to know anything about controllers. It's the controller's job is to give the model to the view. So instead of having index.gsp respond to the request directly, you should have a controller handle it. The controller can then get all the domain objects necessary (the model), and pass them on to the view. Example:

// UrlMappings.groovy
class UrlMappings {
    static mappings = {
        "/$controller/$action?/$id?"{
            constraints {
                // apply constraints here
            }
        }

        "/"(controller:"index") // instead of linking the root to (view:"/index")
        "500"(view:'/error')
    }
}

// IndexController.groovy
class IndexController {
    def index() {  // index is the default action for any controller
        [myDomainObjList: My.findAll()] // the model available to the view
    }
}

// index.gsp
<g:each in="${myDomainObjList}" var="c">
    <p>${c.name}</p>
</g:each>
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文