我是Grails的新手(但不是Groovy或web开发人员).
我正在尝试编写一个接受REST请求的Web应用程序.我遇到的问题是,尽管如下 - 据我所知 - 文档,我仍然会在遇到我认为正确的URL时收到404.
详情如下所示.
该项目是全新的(使用Grails 1.3.3和Intellij IDEA 9.0.3,支持1.3.3)
一个非常简单的测试控制器
package com.myproject class TestController { def index = { } def list = { System.out.println("params = " + params); } def save = { System.out.println("params = " + params); } }
和同样的URL映射,试图将所有GET请求映射到控制器的list()方法.根据文档和Grails in Action一书,映射中的"测试"控制器名称将映射到TestController.
class UrlMappings { static mappings = { "/test" (controller: "test") { action = [ GET: "list", POST: "save" ] } "/"(view:"/index") "500"(view:'/error') }
}
应用程序在myapp上下文中成功部署(展开)在Tomcat6中(我在根目录中有一个静态html,我可以成功显示).
apache-tomcat-6.0.28\webapps\myproject的内容(如果重要)包含在下面.我剥夺了非必要的东西.部署控制器类,对于UrlMappings类也是如此.
对以下变体的所有HTTP请求
http://localhost:8080/myproject/test/list http://localhost:8080/myproject/test/list/ http://localhost:8080/myproject/test/ http://localhost:8080/myproject/test
返回404.要么是一个奇怪的错误,要么更可能是一个我失明的简单错误.
非常感谢您的帮助.谢谢!
| index.html | mysql-connector-java-5.1.13-bin.jar | \---WEB-INF | applicationContext.xml | sitemesh.xml | +---classes | | BootStrap$_closure1.class | | BootStrap$_closure2.class | | BootStrap.class | | Config$_run_closure1.class | | Config$_run_closure1_closure3.class | | Config$_run_closure1_closure4.class | | Config$_run_closure1_closure5.class | | Config$_run_closure2.class | | Config.class | | resources$_run_closure1.class | | resources.class | | UrlMappings$__clinit__closure1.class | | UrlMappings$__clinit__closure1_closure2.class | | UrlMappings.class | | | +---com | | \---myproject | | TestController$_closure1.class | | TestController$_closure2.class | | TestController$_closure3.class | | TestController.class | | | \---org | \---grails | \---tomcat | ParentDelegatingClassLoader.class | SearchFirstURLClassLoader.class | TomcatLoader.class | TomcatServer$_preStart_closure3.class | TomcatServer$_preStart_closure3_closure5.class | TomcatServer$_start_closure1.class | TomcatServer$_start_closure1_closure4.class | TomcatServer$_start_closure2.class | TomcatServer.class | TomcatServerFactory.class | +---lib | catalina-ant.jar | grails-tomcat-plugin-1.0.jar | jasper-jdt.jar | mysql-connector-java-5.1.13-bin.jar | tomcat-dbcp.jar | tomcat-jasper.jar | tomcat-juli-adapters.jar | tomcat-juli.jar | \---tld grails.tld spring.tld
Aaron Saunde.. 5
它返回404错误,因为没有与任何操作关联的视图.
应用程序没有任何渲染...
更改您的控制器代码
class TestController { def index = { } def list = { render("params = " + params); } def save = { render("params = " + params); } }
你会看到一些输出
它返回404错误,因为没有与任何操作关联的视图.
应用程序没有任何渲染...
更改您的控制器代码
class TestController { def index = { } def list = { render("params = " + params); } def save = { render("params = " + params); } }
你会看到一些输出