我几年来一直在开发grails应用程序,最近我将应用程序部署到tomcat6时遇到了一个奇怪的问题。我可以访问登录页面。我可以登录并获得身份验证。但是,当重新连接到我的索引页面时,我得到404 / myapp /资源不可用。
有趣的是,我可以导航到应用程序中的其他页面并执行我需要的任何操作,但是当导航回主页时,它返回404未找到。
我搜索了已部署的视图目录,并且index.gsp存在于应该存在的位置。我的spock测试没有失败。我不知所措。两年多来,我没有修改我的家庭控制器或索引页面本身。我错过了什么?
我使用grails 2.1.1和tomcat6
更新
这是我的UrlMappings.groovy:
android.applicationVariants.all { variant ->
if (variant.install != null) {
variant.install.doLast {
launchApplicationActivity("com.myapp.MyActivity", variant.getApplicationId())
}
}
}
def launchApplicationActivity(activity, applicationId) {
try {
("adb shell am start " + applicationId + "/" + activity).execute()
} catch (java.io.IOException e) {
print 'Failed to start application. (Make sure adb is on your path).'
}
}
}
我的HomeController是真正基本的:
class UrlMappings {
static mappings = {
"/$controller/$action?/$id?" {
constraints {
// apply constraints here
}
}
"/"(controller: "home",action:"index")
//(view: "/index")
// special mapping for jqgrid errors
"500"(controller: "errors", action: "validation", exception: ValidationException)
//"500"(controller: "errors")
"500"(view: '/error')
//"/searchable"(view:"/searchable/index")
/*name homeView: "/bullMaster" {
controller = "bullMaster"
action = "index"
}
*/
}
}
我通常使用以下方式导航到应用程序:
class HomeController {
def index = {
render(view:"index")
}
def termsAndConditions ={
render(view:"termsAndConditions")
}
答案 0 :(得分:0)
日志中是否有错误?
接下来尝试一下(每一步后测试):
"/"(controller: "home")
- 删除'操作'。def index = {}
更改为def index() {}
render(view:"index", layout:null)
render(view:"/home/index")
render(view:"index")
替换为render text: 'test'
找到问题可能有所帮助。每一步都会得到错误404吗?