【发布时间】:2014-11-12 10:40:16
【问题描述】:
我的 Grails 项目结构:
my-app/
grails-app/
<mostly typical grails-app structure>
views/
web/
index.gsp
app/
admin/
layouts/
main.gsp
<rest of project structure is like any other Grails app>
所以你可以看到,通常索引页位于grails-app/views/index.gsp,我在grails-app/views/web/index.gsp。
我的application.properties:
app.grails.version=2.4.2
app.name=my-app
app.context=/
app.version=0.1
我UrlMappings.groovy的一段:
"/"(view:"/web/index")
我的main.gsp 布局:
<!DOCTYPE html>
<html lang="en">
<head>
<title><g:layoutTitle default="MyApp"/></title>
<g:resource dir="css" file="myapp.css" />
<g:layoutHead/>
</head>
<body>
<g:layoutBody/>
<g:resource dir="js" file="myapp.js" />
</body>
</html>
我的index.gsp:
<!DOCTYPE html>
<html>
<head>
<meta name="layout" content="main"/>
</head>
<body>
<h1>Hello!</h1>
</body>
</html>
当应用程序启动并在浏览器中查看它时,很明显没有找到myapp.css,因为页面样式完全错误。当我查看页面源代码时,我看到:
<!DOCTYPE html>
<html lang="en">
<head>
<title>MyApp</title>
/css/myapp.css
<meta name="layout" content="main"/>
</head>
<body>
<h1>Hello!</h1>
/js/myapp.js
</body>
</html>
所以听起来 Grails 将您的 app.context 用作所有资源的前缀。而且因为我没有正确连接某些东西,Grails 只是将我的 <g:resource> 标记转换为纯文本并在 HTML 中打印出来。
我想我的问题是:我需要做什么才能让 Grails 找到我的 CSS/JS 资源?
【问题讨论】:
标签: css grails gsp url-mapping