GRAILS:<g:layoutTitle> 不起作用
GRAILS : <g:layoutTitle> does not work
我想根据本教程为我的 grails 应用程序创建布局:
http://grails.asia/grails-tutorial-for-beginners-layout-templates
我用我的页面骨架创建了一个 page.gsp:
<!DOCTYPE html>
<html>
<head>
<title><g:layoutTitle default="Grails"/></title>
<style>
#header {background-color:#ffe0e0;text-align: center;}
#footer {background-color:#e0e0ff;text-align: center;}
</style>
<g:layoutHead/>
</head>
<body>
<div id="header">HEADER</div>
<g:layoutBody/>
<div id="footer">FOOTER</div>
</body>
</html>
和 mainpage.gsp 主要内容:
<!DOCTYPE html>
<html>
<head>
<meta name="layout" content="page"/>
<title>I am a test page</title>
<link rel="stylesheet" href="${resource(dir: 'css', file: 'main.css')}" type="text/css">
</head>
<body>
<p>Test page.</p>
</body>
</html>
页面映射到 UrlMappings.groovy:
"/"(view:'/layouts/page')
但是当我尝试 运行 我的项目时,我总是收到这样的错误消息:
URI/
Class java.lang.NullPointerException
Message
Request processing failed; nested exception is org.grails.gsp.GroovyPagesException: Error processing GroovyPageView: [views/layouts/page.gsp:4] Error executing tag : [views/layouts/page.gsp:4] Error executing tag : null
Caused by
null
没有它可以正常工作。
我该如何解决这个问题?
您不应直接显示装饰器页面(在 grails-app/views/layouts
目录之外)。这些的目的是装饰其他页面。
所以,而不是像
那样的废话
"/"(view:'/layouts/page')
你应该像这样使用:
"/"(view:'/mainpage')
这样你的 mainpage.gsp
就被 layouts/page.gsp
装饰了。
我想根据本教程为我的 grails 应用程序创建布局: http://grails.asia/grails-tutorial-for-beginners-layout-templates
我用我的页面骨架创建了一个 page.gsp:
<!DOCTYPE html>
<html>
<head>
<title><g:layoutTitle default="Grails"/></title>
<style>
#header {background-color:#ffe0e0;text-align: center;}
#footer {background-color:#e0e0ff;text-align: center;}
</style>
<g:layoutHead/>
</head>
<body>
<div id="header">HEADER</div>
<g:layoutBody/>
<div id="footer">FOOTER</div>
</body>
</html>
和 mainpage.gsp 主要内容:
<!DOCTYPE html>
<html>
<head>
<meta name="layout" content="page"/>
<title>I am a test page</title>
<link rel="stylesheet" href="${resource(dir: 'css', file: 'main.css')}" type="text/css">
</head>
<body>
<p>Test page.</p>
</body>
</html>
页面映射到 UrlMappings.groovy:
"/"(view:'/layouts/page')
但是当我尝试 运行 我的项目时,我总是收到这样的错误消息:
URI/ Class java.lang.NullPointerException Message Request processing failed; nested exception is org.grails.gsp.GroovyPagesException: Error processing GroovyPageView: [views/layouts/page.gsp:4] Error executing tag : [views/layouts/page.gsp:4] Error executing tag : null Caused by null
没有它可以正常工作。 我该如何解决这个问题?
您不应直接显示装饰器页面(在 grails-app/views/layouts
目录之外)。这些的目的是装饰其他页面。
所以,而不是像
那样的废话"/"(view:'/layouts/page')
你应该像这样使用:
"/"(view:'/mainpage')
这样你的 mainpage.gsp
就被 layouts/page.gsp
装饰了。