向Grails平台核心导航API中的导航项添加元素ID

向Grails平台核心导航API中的导航项添加元素ID,grails,functional-testing,grails-platform-core,Grails,Functional Testing,Grails Platform Core,是否可以将id或class等HTML属性添加到由生成的每个菜单项 可能类似于: home(controller: 'home', action:'index', titleText:'Home', elementId: 'navHome') 我正在编写一些使用生成链接的功能测试。但是,链接文本(可能还有URL)可能会更改。使用ID将使测试更易于维护。导航API提供了通过数据和自定义菜单项渲染添加附加值的功能 例子: 第一步 将数据映射添加到config/AppNavigation.groovy

是否可以将
id
class
等HTML属性添加到由生成的每个菜单项

可能类似于:

home(controller: 'home', action:'index', titleText:'Home', elementId: 'navHome')

我正在编写一些使用生成链接的功能测试。但是,链接文本(可能还有URL)可能会更改。使用ID将使测试更易于维护。

导航API提供了通过
数据和自定义菜单项渲染添加附加值的功能

例子: 第一步 将
数据
映射添加到
config/AppNavigation.groovy
中的菜单项定义中

home(controller: 'home', action:'index', titleText:'Home', data: [elementId: 'navHome'])
步骤2 使用GSP文件中的
item.data.*
参考
数据
地图

<nav:primary scope="some scope" custom="true">
    <li>
        <p:callTag
            tag="g:link"
            attrs="${linkArgs + [class:active ? 'active' : ''] + [elementId:item.data.elementId]}"
        ><nav:title item="${item}"/></p:callTag>
   </li>
</nav:primary>

  • 这将产生以下HTML:

    <ul class="nav primary">
        <li>
            <a href="/VVAdmin/" id="navHome" class="active">Home</a>
        </li>               
    </ul>
    
    有关更多信息,请参阅导航API文档中的标记文档