我正在使用Grails 1.3.6.我有这个档案......
在grails-app /视图/家庭/设计/ index.gsp中
这是我的HomeController中定义的内容.可悲的是,每当我访问"http:// localhost:port/context-path/design /"时,我都会收到404错误.服务器正常启动,日志中没有错误.我该怎么做才能获得我的页面而不是404?
def index = {
def folder = params.folder;
def page = params.page;
if (page) {
try {
def contents = IOService.getFileContents(folder, page)
response.setContentType("application/json")
response << contents
} catch (FileNotFoundException e) {
response.status = 404;
} // try
} else {
render(view: "/home/${folder}/index")
} // if
}
Run Code Online (Sandbox Code Playgroud)
我的URLMappings文件包含......
static mappings = {
"/$folder?/$page"{
controller = "home"
action = "index"
}
"/"(view:"/index")
"500"(view:'/error')
}
Run Code Online (Sandbox Code Playgroud)
谢谢, - 戴夫
如果您希望能够访问
/context-path/home/design
Run Code Online (Sandbox Code Playgroud)
你的行动需要被命名为设计,即
class HomeController {
def design = {
}
}
Run Code Online (Sandbox Code Playgroud)
Grails约定总是/context-path/controllerName/actionName(除非你以不同的方式映射grails-app/conf/URLMappings.groovy).
您的示例有点不清楚您尝试访问的路径.解决这两个问题:
/context-path/design,你需要一个DesignController与index动作(因为如果不采取行动在URL提供的是,Grails会查找index动作)./context-path/home/design,你需要HomeController一个design动作.编辑:
在评论中,您表示希望能够/context-path/design映射到HomeController索引操作.你可以这样做grails-app/conf/URLMappings.groovy:
"/design"(controller: 'home', action: 'index')
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4572 次 |
| 最近记录: |