我正在使用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 }
没有那么groovy,但对解析器来说可能不那么令人困惑(看起来某个地方有东西混淆了,并将== support
转储到了不应该的地方)
我会尝试将真实条件设置为String:
${(pageProperty(name:'meta.nav') == 'support') ? 'selected' : null}
它可能正在尝试访问GSP脚本中名为selected
的变量,该变量将是未定义的。
希望能有所帮助。