Я только что создал свое первое приложение Grails 1.4, и у меня возникли некоторые проблемы с новым управлением ресурсами: «статический обработчик» не возвращает никаких файлов css или js, а вместо этого говорит:
ERROR resource.ResourceMeta - Resource not found: /static/plugins/jquery-ui-1.8.15/jquery-ui/themes/ui-lightness/jquery-ui-1.8.15.custom.css
ERROR resource.ResourceMeta - Resource not found: /static/plugins/jquery-1.6.1.1/js/jquery/jquery-1.6.1.min.js
ERROR resource.ResourceMeta - Resource not found: /static/plugins/blueprint-1.0.2/css/blueprint/screen.css
ERROR resource.ResourceMeta - Resource not found: /static/plugins/jquery-ui-1.8.15/jquery-ui/js/jquery-ui-1.8.15.custom.min.js
ERROR resource.ResourceMeta - Resource not found: /static/css/main.css
ERROR resource.ResourceMeta - Resource not found: /static/js/application.js
Изображения работают нормально!
Как вы можете видеть из приведенных ниже файлов, я действительно все удалил - так что я думаю, что, возможно, где-то отсутствует какая-то общая настройка?
Файл макета (main.gsp):
<html>
<head>
<g:layoutTitle/>
<r:layoutResources/>
</head>
<body>
<g:layoutBody/>
<r:layoutResources/>
</body>
</html>
Страница (index.gsp):
<html>
<head>
<meta name="layout" content="main"/>
<r:require modules="jquery-ui, blueprint"/>
<r:require module="core"/>
</head>
<body>
<div id="form">
<r:img uri="/images/grails_logo.png" width="100" height="50"/>
Hello World
</div>
</body>
</html>
Выходной HTML:
<html>
<head>
<script src="/gdw/static/plugins/jquery-1.6.1.1/js/jquery/jquery-1.6.1.min.js" type="text/javascript" ></script>
<link href="/gdw/static/plugins/jquery-ui-1.8.15/jquery-ui/themes/ui-lightness/jquery-ui-1.8.15.custom.css" type="text/css" rel="stylesheet" media="screen, projection" />
<script src="/gdw/static/plugins/jquery-ui-1.8.15/jquery-ui/js/jquery-ui-1.8.15.custom.min.js" type="text/javascript" ></script>
<link href="/gdw/static/plugins/blueprint-1.0.2/css/blueprint/screen.css" type="text/css" rel="stylesheet" media="screen, projection" />
<!--[if lt IE 8]><link href="/gdw/static/plugins/blueprint-1.0.2/css/blueprint/ie.css" type="text/css" rel="stylesheet" media="screen,projection" /><![endif]-->
<link href="/gdw/static/css/main.css" type="text/css" rel="stylesheet" media="screen" />
</head>
<body>
<div id="form">
<img src="/gdw/static/images/grails_logo.png" width="100" height="50" />
Hello World
</div>
<script src="/gdw/static/js/application.js" type="text/javascript" ></script>
</body>
</html>
И мои модули (StaticResources.groovy):
modules = {
core {
dependsOn 'jquery'
defaultBundle 'ui'
resource url:'/css/main.css', attrs:[media:'screen']
resource url:'/js/application.js'
}
}
Чего мне не хватает? Я попытался, не требуя jQuery и blueprint, но это не изменило тот факт, что main.css и application.js все еще не были найдены - и файлы есть!