2016-03-04 57 views
0

我有一个GSP与下面的代码..是否有SiteMesh的不支持Grails的任何变通办法,如果开放HTML body标签报表

<g:if test="${'Ethan Hunt'.equals(agentName)}"> 
<body> 
     Secret Mission 
</g:if> 
     Unclassified stuff 
    </body> 

眼下这给出了一个例外..

org.codehaus.groovy.grails.web.taglib.exceptions.GrailsTagException:   
Grails tag [sitemesh:captureBody] was not closed 

根据this,在使用sitemesh进行布局的Grails中不支持此类用法,唯一的解决方法是将sitemesh.preprocess配置为false。

但是这篇文章相当老,所以我想知道现在是否有更好的解决方法?

当然,一个显而易见的方法是重新将代码移动到body内部,但假设这不是一个选项(这个示例是我的实际代码的简化,这个重构选项不起作用) 。

是否有任何其他选项可以避免此异常,但仍然保留此代码?

+0

一个非简化的例子呢? –

回答

1

除了重构代码或关闭预处理(对性能影响相当大)之外,没有更好的解决方法。

自从那时起,Sitemesh和Grails都没有使用Sitemesh。

+0

感谢Josh,我猜想唯一的选择是重构实际代码的痛苦任务。 – AbuMariam

相关问题