2011-12-20 40 views
2

我傳遞一個變量logo它包含一個圖像文件的文件名從我的控制器普惠制,然後我試着像這樣顯示圖像使用變量即使變量logo包含正確的值,我得到一個錯誤Unclosed GSP expression

java.lang.RuntimeException: Error initializing GroovyPageView 
at org.grails.plugin.resource.DevModeSanityFilter.doFilter(DevModeSanityFilter.groovy:26) ~[plugin-classes/:na] 
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) [na:1.6.0_26] 
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) [na:1.6.0_26] 
at java.lang.Thread.run(Thread.java:662) [na:1.6.0_26] 
Caused by: org.codehaus.groovy.grails.web.taglib.exceptions.GrailsTagException: Unclosed GSP expression 
... 4 common frames omitted 

與文件名工作更換${logo}

我在做什麼錯?

非常感謝

喬納斯

回答

7

您正在嘗試embeed Expresion語言裏面Expresion語言。

替換:

<img src="${resource(dir:'images',file:"${logo}")}" alt="Logo" border="0" /> 

通過

<img src="${resource(dir:'images',file:logo)}" alt="Logo" border="0" /> 

裏面EL可以參考變量直接

+0

當然...非常感謝 – Jonas 2011-12-20 02:02:55

4

歐內斯特是正確的,你不應該在這種情況下使用的GString。實際的錯誤是值不正確引用。 你也可以做

<img src='${resource(dir:"images",file:"${logo}")}' alt="Logo" border="0" /> 

(注意單引號和雙引號,他們是正常關閉)