gpt4 book ai didi

grails - 我无法使grails Controller “render”方法与显式模板一起使用

转载 作者:行者123 更新时间:2023-12-02 14:14:50 24 4
gpt4 key购买 nike

我刚刚开始学习grails,但是遇到了问题。

我在项目主页上有一个“ Controller ”和“ View ”(该主页没有模型)

我将 View 称为“index.gsp”,并将其放在目录views / home中

但是,不管我做什么,grails都会尝试读取页面“home.gsp”(然后是home.jsp),尽管我已经在render调用中使用“template”属性明确指定了索引。

class HomeController {
String someparameter = "xyzzy"
def index = {
render(view:"home", template:"index") // I also tried "index.gsp" and "home/index.gsp"
}
}

我认为我可能使用了“template”属性错误,因为我仅在示例中看到它用于无 View 模板渲染。但是,文档没有这样的限制。

有什么方法可以明确指定模板的名称?我只是屈服了,并将其重命名为“home.gsp”,但我想了解出了什么问题。

(此应用程序的主页中没有“模型”。Grails将使用具有模型的 Controller 。在此示例中,您可以使用$ {someparameter}来访问gsp模板中的“someparameter”。)

最佳答案

我认为您可能会误解Grails template是什么。将模板视为可重用的片段。模板是一种GSP,其开头是下划线,例如_menu.gsp,通常会在另一个GSP中使用<g:render template="menu"/>这样的标记进行渲染。

同时渲染 View 和模板没有任何意义。在这一点上,它们是互斥的。

您是否要实现布局?如果是这样,see the docsthe grails.org explaination.

基本上,您的 View 在 View 的<meta name="layout" content="main">标记中将有一个<head/>标记-表示该 View 将与main中的grails-app/views/layouts/main.gsp布局网格化

关于grails - 我无法使grails Controller “render”方法与显式模板一起使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1225817/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com