2011-02-08 47 views
0

在我看來,我設置了pageProperty,標記爲content,但是,Grails 1.3.6 ifPageProperty未檢測到我的邊欄pageProperty。有什麼想法嗎?Grails未記錄的方法ifPageProperty實際上工作嗎?

layout.gsp

<g:ifPageProperty name="page.sidebar"> 
    <aside id="sidebar"> 
    <g:pageProperty name="page.sidebar" /> 
    </aside> 
</g:ifPageProperty> 

view.gsp

<html> 
<head> 
<title>My Account Title</title> 
</head> 
<body> 
    <content tag="sidebar"> 
    <h4>Sidebar</h4> 
    <p>Hola. This is a sidebar test!</p> 
    </content> 
    <h1>Content Heading</h1> 
</body> 
</html> 

PS。如果你想知道我在哪裏設置我的佈局,它將在控制器中設置。

回答

1

一位同事搜查了Grails buglist,發現Sitemesh的預處理必須關閉。

// enable Sitemesh preprocessing of GSP pages 
grails.views.gsp.sitemesh.preprocess = false 
+0

你好,請在Grails的吉拉報告錯誤。我檢查了ifPageProperty的源代碼,並且有一個錯誤。 – 2011-02-09 22:51:20

0

你能嘗試以此作爲該問題的解決方法:

<g:if test="${g.pageProperty(name:'page.sidebar')?.length()}"> 
    <aside id="sidebar"> 
    <g:pageProperty name="page.sidebar" /> 
    </aside> 
</g:if> 
+0

呃,但是這對於多個裝飾者來說是馬虎。我會等到Sitemesh和Grails點擊。 – rxgx 2011-02-10 21:52:51

相關問題