我正在使用pageProperty函数来驱动布局中的某些菜单。我需要根据返回的meta.nav pageProperty将特定的类应用于链接。现在看起来像这样...

<g:if test="${pageProperty(name:'meta.nav') == 'support'}">
  <g:link class="selected" ...>support</g:link>
</g:if>
<g:else>
  <g:link ...>support</g:link>
</g:else>

我想清理一下,但是,这不起作用
<g:link class="${pageProperty(name:'meta.nav') == 'support' ? selected : null}" ...>support</g:if>

我已经尝试过多种不同的异体同体,但似乎都没有得到我所需要的。例如:
${(pageProperty(name:'meta.nav') == 'support') ? selected : null}
${(pageProperty(name:'meta.nav') == 'support' ? selected : null)}

只是似乎无法使其正确执行。任何帮助表示赞赏。

最佳答案

作为黑暗中的野蛮人,如何:

${ pageProperty(name:'meta.nav').equals( 'support' ) ? 'selected' : null }

虽然不那么俗套,但对于解析器来说可能不那么令人困惑(看起来某处变得有些混乱,并把== support丢到了不应该的地方)

关于grails - pageProperty和内联IF条件,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/8839382/

10-08 22:14