gpt4 book ai didi

grails - 如何防止Grails渲染默认 View ?

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

我正在使用Grails 1.2.1。我的 Controller 中有此方法...

class SocialMediaCacheProxyController {

def index = {
def url = params.url
if (params.dumpAll != null) {
transportCacheService.processCacheDump(request.getRemoteAddr(), response)
} else if (url != null) {
doCacheTransport(request, response)
} // if
}

问题是,两个执行路径都将内容写入响应。但是,我认为Grails试图在index方法的末尾呈现页面,因为调用此方法后,我反复得到以下错误……
1339754 [http-8080-4] ERROR org.apache.catalina.core.ContainerBase.[Tomcat].[localhost].[/socialmediaproxy].[default]  - Servlet.service() for servlet default threw exception
java.lang.IllegalStateException: response.getWriter() called after response.getOutputStream()
at org.codehaus.groovy.grails.web.sitemesh.GrailsPageResponseWrapper$GrailsBuffer.getWriter(GrailsPageResponseWrapper.java:284)
at org.codehaus.groovy.grails.web.sitemesh.GrailsPageResponseWrapper$3.activateDestination(GrailsPageResponseWrapper.java:125)

我的方法完成后,如何使Grails停止呈现任何内容的任何想法?谢谢-戴夫

最佳答案

如果您不告诉Grails要渲染什么,它将根据约定进行渲染。就您而言,它正在寻找index.gsp。 Controller 必须返回一些东西。这就是重点。因此,您可以使用约定并创建要返回的index.gsp,也可以手动实现render()方法。

http://grails.org/doc/latest/ref/Controllers/render.html

关于grails - 如何防止Grails渲染默认 View ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5708654/

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