【发布时间】:2015-03-17 05:36:04
【问题描述】:
我正在使用 Freemarker XML 处理来构建菜单。我想查找当前元素或其任何子元素是否具有与 activeNode 匹配的 id。
但是我在为 XPath 制定 Freemarker 语法时遇到了很多麻烦。这似乎匹配所有带有子链接的节点(注意item 是对客户节点的节点引用)
<#assign aNode="search-customers" />
<#assign xpath>link["@id=${aNode}"]</#assign>
<#if item[xpath][0]?has_content>
<#assign cssClass> class="active"</#assign>
</#if>
这是我要匹配的 xml 的相关部分。例如,search-customers 节点应突出显示 customers 节点。
<menu>
<top title="title.home" url="/admin" icon="fa fa-home" />
<top title="title.customers" id="customers" url="javascript:;" icon="fa fa-group">
<link title="title.search.customers" id="search-customers" url="/admin/customers"></link>
<link title="title.register.customer" id="register-customer" url="/admin/customers/new"></link>
<link title="title.contact.us" id="contact-us" url="/admin/contactus"></link>
<link title="title.subscribers" id="subscribers" url="/admin/subscribers"></link>
</top>
理想情况下,它也会匹配当前节点 id - 因此如果子节点 id 或当前节点 id 匹配 activeNode,则 css 应该是活动的。
任何人都可以帮助使用 Freemarker 语法吗?
【问题讨论】:
标签: freemarker