gpt4 book ai didi

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

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

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

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

_simple.gsp:
<html>
<head>
<meta name="layout" content="blank" />
</head>
<body>
Simple test page.
</body>
</html>

blank.gsp:
<!DOCTYPE html>
<html>
<head>
<g:layoutHead />
</head>
<body>
<g:layoutBody />
</body>
</html>

没有比这更简单的了。正确找到了 Controller 方法,问题似乎出在渲染期间。这是我得到的错误:

2016-07-05 16:07:14,931 [http-bio-8085-exec-5]错误error.GrailsExceptionResolver-处理请求时发生NullPointerException:[GET] / testApp / simple /
Stacktrace如下:
讯息:空
线|方法
->> 15 |在com.opensymphony.module.sitemesh.filter.HttpContentType中

| 49 |内置com.opensymphony.sitemesh.compatability.PageParser2ContentProcessor
| 89 | getContent。 。 。 。 。 。 。 。 。 。在org.codehaus.groovy.grails.web.sitemesh.GrailsContentBufferingResponse中
| 107 | org.codehaus.groovy.grails.web.sitemesh.GrailsLayoutView中的gainContent

调试确认context.contentType为null。我发现了四种不同的设置内容类型的方法,但是似乎都不起作用。
<%@ page contentType="text/html;charset=UTF-8" %>

在 View 的顶部。
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />

在 View 的头部标签中。
contentType: "text/html"

传递给 Controller ​​中的render方法。
response.setContentType("text/html")

在 Controller 方法中调用。

这是在现有项目中,在该项目中,许多其他 Controller 和 View 都可以正常工作。我需要添加一个新的 Controller 和 View ,我最初复制了现有的 Artifact 。当那行不通时,我尝试将问题简化为尽可能简单,最后得到上面的代码,但该代码仍无法正常工作。

顺便说一句,这是与Grails 2.5.1(此版本已卡住)一起使用的。

最佳答案

您在那里所拥有的应该可以工作。

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

如果不是那么简单,则可以尝试重新创建一个简单的应用程序。

关于grails - 如何在Grails中设置内容类型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38212584/

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