grailsg:if标记测试请求URI

grailsg:if标记测试请求URI,grails,httprequest,gsp,Grails,Httprequest,Gsp,我对Grails有些陌生,不知道如何实现这一点。我正在处理gsp文件中的导航列表。我试图做的是测试请求URI是否以给定字符串开头,如果是,则将列表项设置为活动。我过去看到过这样做的方式: <li <g:if test="${request.getRequestURI().startsWith("/packageName/domainController")}"> class="active" </g:if> > <g:li

我对Grails有些陌生,不知道如何实现这一点。我正在处理gsp文件中的导航列表。我试图做的是测试请求URI是否以给定字符串开头,如果是,则将列表项设置为活动。我过去看到过这样做的方式:

<li
    <g:if test="${request.getRequestURI().startsWith("/packageName/domainController")}">
        class="active"
    </g:if>
>
<g:link controller="sectionHome" params="[section: section]" >
    Class Home
</g:link>
</li>
  • 班级之家

  • 这个模型不行。不确定是否有一个标签不符合顺序,或者是否有一个新方法我就是找不到。提前感谢您的帮助。

    您的gsp中有
    ${controllerName}
    ${actionName}
    这样您就可以执行以下操作:

    <li
        <g:if test="${controllerName == 'MyController'}">
            class="active"
        </g:if>
    >
    

  • 希望有帮助

    我认为您需要使用request.forwardURI()。试着把它们都打印出来——我想grails会把requestURI弄坏到调度器上。试过这个。由于某些原因,request.forwardURI()无法识别,考虑到文档中有它,这很奇怪。我在gsp文件和控制器中都尝试了它。它是一个属性,因此request.forwardURI或request.getForwardURI()都无法识别。您可以在控制器中执行println吗?它应该在那里。不确定普惠制中是否有。