我正在使用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>
我尝试了几种不同的paranthesis变体,但似乎没有一种能得到我需要的东西。例如:
${(pageProperty(name:'meta.nav') == 'support') ? selected : null}
${(pageProperty(name:'meta.nav') == 'support' ? selected : null)}
似乎无法让它行动正确。任何帮助表示赞赏。
答案 0 :(得分:3)
在黑暗中作为狂野的刺,怎么样:
${ pageProperty(name:'meta.nav').equals( 'support' ) ? 'selected' : null }
不像常规,但可能不那么容易混淆解析器(看起来某个地方的东西变得混乱并将== support
转移到不应该的地方)
答案 1 :(得分:1)
我会尝试将真实条件设为字符串:
${(pageProperty(name:'meta.nav') == 'support') ? 'selected' : null}
它可能正在尝试访问GSP脚本中名为selected
的变量,该变量未定义。
希望有所帮助。