我是grails的新手,我正在尝试访问索引页面。删除grails的默认主页后,我收到以下错误 404 App1 / WEB-INF / grails-app / views / index.jsp
description The requested resource is not available.
我查看了UrlMapping,并将视图设置为索引
"/"(view:"/index")
"500"(view:'/error')
我的控制器类
package App1grailsapp
class TeamController {
def index() { }
def teams()
{
[teams:Team.list()]
}
}
我有两个gsp页面,
索引
<!--
To change this license header, choose License Headers in Project Properties.
To change this template file, choose Tools | Templates
and open the template in the editor.
-->
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Sample title</title>
</head>
<body>
<h2><g:message code="welcome"/></h2>
<ul>
<li><g:link action="teams">Display all teams</g:link></li>
</ul>
</body>
</html>
和团队
<html>
<head>
<meta name="layout" content="main">
<title>Teams</title>
</head>
<body>
<h2>Teams:</h2>
<table>
<tr>
<thead>
<th>Name</th>
</thead>
</tr>
<g:each var="team" in="${teams}">
<tr>
<td>${team.name}</td>
</tr>
</g:each>
</table>
</body>
</html>
我不明白为什么没有显示index.gsp页面?
答案 0 :(得分:1)
Grails的查看分辨率基于约定。每个控制器在grails-app / views下都有一个目录,用于关联的视图。除非您另行指定(通过渲染),否则显示的视图将与控制器操作名称匹配。
在您的情况下,您需要将index.gsp
移至grails-app/views/
并将teams.gsp
重命名为index.gsp
下的grails-app/views/team
。
希望这会有所帮助。您可能需要查看documentation以获取更多信息和见解。
此外,您需要指定链接使用哪个控制器来显示所有团队。
<li><g:link controller="team" action="index">Display all teams</g:link></li>