如何在Grails中设置内容类型?

如何在Grails中设置内容类型?,grails,Grails,我只是试图设置一个非常简单的控制器,以返回一个非常简单的视图(具有非常简单的布局),但是,我不断收到与内容类型相关的错误 class SimpleController { def index() { render(view: "simple") } } _simple.gsp: <html> <head> <meta name="layout" content="blank" /> </head> <

我只是试图设置一个非常简单的控制器,以返回一个非常简单的视图(具有非常简单的布局),但是,我不断收到与内容类型相关的错误

class SimpleController {
    def index() {
        render(view: "simple")
    }
 }
_simple.gsp:

<html>
<head>
    <meta name="layout" content="blank" />
</head>
<body>
Simple test page.
</body>
</html>
传递给控制器中的render方法

response.setContentType("text/html")
在控制器方法中调用

这是在现有的项目中,其中许多其他控制器和视图工作得非常好。我需要添加一个新的控制器和视图,我最初复制了现有的工件。当这不起作用时,我试图将问题简化为尽可能简单的问题,最后得到了上面的代码,但仍然不起作用


顺便说一句,这是Grails2.5.1的版本(这个版本已经过时了)。

如果使用默认URL映射,则应将视图命名为simple.gsp,而不是_simple.gsp


如果没有那么简单,你可以试着重新创建一个简单的应用程序。

你的应用程序应该可以使用

如果使用默认URL映射,则应将视图命名为simple.gsp,而不是_simple.gsp


如果没有那么简单,你可以尝试重新创建一个简单的应用程序。

甚至可以更简单,顺便解决你的问题

class SimpleController {
    def index() {

    }
}

将_simple.gsp重命名为index.gsp,需要位于views/simple/目录中。如果blank.gsp在views/layouts目录中,它现在应该可以工作了。

可以更简单,顺便解决您的问题

class SimpleController {
    def index() {

    }
}

将_simple.gsp重命名为index.gsp,需要位于views/simple/目录中。如果blank.gsp在views/layouts目录中,它现在应该可以工作了。

正如@jmalen所说,该页面应该命名为“simple.gsp”。 开头的下划线是我只知道的模板gsp文件的下划线,它可以包含在其他页面中,并带有以下语句:

<g:render template="/layouts/menu" />

正如@jmallen所说,页面应该命名为“simple.gsp”。 开头的下划线是我只知道的模板gsp文件的下划线,它可以包含在其他页面中,并带有以下语句:

<g:render template="/layouts/menu" />

这两个答案都有效,但就我而言,jmallen的答案更匹配。这两个答案都有效,但就我而言,jmallen的答案更匹配。谢谢。我永远无法用grails判断何时需要u。我从中复制的代码使用了一个u,我就这么做了。我甚至没有想过要更改它,因为视图解析程序没有抛出一个关于找不到指定视图的错误。谢谢。我永远无法用grails判断何时需要u。我从中复制的代码使用了一个u,我就这么做了。我甚至没有考虑更改它,因为视图解析器没有抛出一个关于无法找到指定视图的错误。
class SimpleController {
    def index() {

    }
}
<g:render template="/layouts/menu" />
_menu.gsp