Bru*_*ort 1 xpages xpages-extlib
我有一个使用应用程序布局控件的应用程序.UI在标题栏部分中定义了两个选项卡.UI还在侧栏中包含导航器控件,允许用户选择链接以打开其他页面.我遇到麻烦的是当用户点击当前导航器中的链接时,将当前选项卡设置为活动选项卡.
应用程序布局控件的"配置"属性是一种复杂类型,它反过来支持定义布局本身的所有属性.其中一个属性是"navigationPath".如果Netflix在其网站上使用此控件,则在查看Ghostbusters的电影信息页面时该属性的值可能如下所示:
/home/genres/comedies/541018
Run Code Online (Sandbox Code Playgroud)
因此,可以将此属性视为使用*nix文件路径语法描述页面在"站点地图"中的当前位置的方法.
每个titleBarTab也是一个复杂的类型; 其中一个属性是"选择".此属性旨在赋予与整个布局的当前navigationPath的部分或全部匹配的值.因此,继续Netflix示例,您可以像这样定义标签:
<xe:this.titleBarTabs>
<xe:pageTreeNode
page="/genre.xsp"
label="Action"
queryString="genre=action"
selection="/home/genres/action/*" />
<xe:pageTreeNode
page="/genre.xsp"
label="Comedy"
queryString="genre=comedies"
selection="/home/genres/comedies/*" />
<xe:pageTreeNode
page="/genre.xsp"
label="Drama"
queryString="genre=dramas"
selection="/home/genres/dramas/*" />
</xe:this.titleBarTabs>
Run Code Online (Sandbox Code Playgroud)
然后,在Ghostbusters的页面上,因为布局的navigationPath属性与为标签为"喜剧"的pageTreeNode的selection属性定义的模式匹配,所以该选项卡将显示为选中状态,但其他选项卡则不会.
也许值得注意的是,布局配置还包括一个名为"defaultNavigationPath"的属性.如果navigationPath属性没有值,则将此属性的值与每个titleBarTab的selection属性进行比较.因此,您通常希望将此设置为导致第一个选项卡显示为选中状态的路径.