Grails sitemesh 是否有任何解决方法不支持带有开放 HTML 主体标签的 if 语句
Are there any workarounds for Grails sitemesh not supporting if statements with open HTML body tags
我有一个 GSP,代码如下..
<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。
但是 post 已经相当老了,所以我想知道现在是否有更好的解决方法?
当然,一个明显的方法是重构代码以将 if 检查移入体内,但假设这不是一个选项(此示例是我实际代码的简化,其中此重构选项不起作用).
是否有任何其他选项可以避免此异常但仍保留此代码?
除了重构代码或关闭预处理(这对性能影响很大)之外,没有更好的解决方法。
从那时起,Sitemesh 和 Grails 对 Sitemesh 的使用都没有太大变化。
我有一个 GSP,代码如下..
<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。
但是 post 已经相当老了,所以我想知道现在是否有更好的解决方法?
当然,一个明显的方法是重构代码以将 if 检查移入体内,但假设这不是一个选项(此示例是我实际代码的简化,其中此重构选项不起作用).
是否有任何其他选项可以避免此异常但仍保留此代码?
除了重构代码或关闭预处理(这对性能影响很大)之外,没有更好的解决方法。
从那时起,Sitemesh 和 Grails 对 Sitemesh 的使用都没有太大变化。