Grails pageProperty和内联IF条件
我正在使用pageProperty函数驱动布局中的一些菜单。我需要根据meta.nav pageProperty返回的内容将特定类应用于链接。现在,看起来像这样Grails pageProperty和内联IF条件,grails,if-statement,gsp,Grails,If Statement,Gsp,我正在使用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 .
<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>
只是似乎无法让它正确运作。非常感谢您的帮助。我会尝试将真实条件设置为字符串:
${(pageProperty(name:'meta.nav') == 'support') ? 'selected' : null}
它可能试图访问GSP脚本中名为selected
的变量,该变量未定义
希望这能有所帮助。作为一种黑暗中的疯狂刺杀,你觉得:
${ pageProperty(name:'meta.nav').equals( 'support' ) ? 'selected' : null }
虽然不像groovy那样,但可能对解析器的迷惑性更小(看起来有些东西在某个地方变得混乱,并将
==support
转储到不应该的地方),这也不起作用。在呈现的HTML中,我以以下内容结束:class=“support”部分正在工作,但出于某种原因,我以额外的==“support”结束。@Gregg不知道它是否会工作,但它确实可以${pageProperty(名称:'meta.nav')。equals('support')?'selected':null}
让您更接近吗?
${(pageProperty(name:'meta.nav') == 'support') ? 'selected' : null}
${ pageProperty(name:'meta.nav').equals( 'support' ) ? 'selected' : null }