pageProperty和内联IF条件



我正在使用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的变量,该变量将是未定义的。

希望能有所帮助。

相关内容

  • 没有找到相关文章

最新更新