2012-01-12 42 views
4

我使用pageProperty函数来驱动我的布局中的一些菜单。我需要将特定类应用于链接,具体取决于meta.nav pageProperty返回的内容。现在,它看起来像这样...pageProperty和inline IF条件

<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)} 

只是似乎无法让它行事正确。任何帮助表示赞赏。

回答

3

如在黑暗中野生刺,怎么样:

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

不作为常规的,但可能是解析器减少混乱(它看起来像一些地方越来越困惑和倾倒== support了它不该't)

1

我会尝试做真实情况的字符串:

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

它可能试图访问一个名为selected普惠制脚本中的变量,这将是不确定的。

希望有所帮助。

+0

这也行不通。在呈现的HTML中,我最终得到了这个:support Gregg 2012-01-12 17:35:52

+0

class =“support”部分正在工作,但由于某种原因,我最终得到额外的==“支持”。 – Gregg 2012-01-12 17:36:28

+0

@Gregg不知道它是否可以工作,但是'$ {pageProperty(name:'meta.nav')。equals('support')? 'selected':null}'让你靠近吗? – 2012-01-12 17:43:21