Struts2 在Struts 2中创建导航链接

Struts2 在Struts 2中创建导航链接,struts2,Struts2,有什么方法可以复制rails的“链接到当前”吗 例如,如果我在导航中有一个链接列表,并且我想用不同的css样式标记当前页面(或者甚至让它是纯文本,而不是链接) 现在我在action类(getPage())中创建了一个方法,它返回我为每个操作指定的名称,并在构建导航时对此进行测试。。。工作正常但不美观,我必须手动设置页面名称(struts无法自动从上下文中获取) 使用Struts 2、Tiles、JSP+Struts标记库。要获取当前url,您可以使用url标记,而无需任何参数、操作等: <

有什么方法可以复制rails的“链接到当前”吗

例如,如果我在导航中有一个链接列表,并且我想用不同的css样式标记当前页面(或者甚至让它是纯文本,而不是链接)

现在我在action类(getPage())中创建了一个方法,它返回我为每个操作指定的名称,并在构建导航时对此进行测试。。。工作正常但不美观,我必须手动设置页面名称(struts无法自动从上下文中获取)


使用Struts 2、Tiles、JSP+Struts标记库。

要获取当前url,您可以使用url标记,而无需任何参数、操作等:

<s:url var="currenturl" includeParams="get" escapeAmp="false"/>

然后假设您构建的导航Url类似于:

<s:url var="url" action="someAction" escapeAmp="false">
    <s:param name="id" value="id"/>
</s:url>

然后,您可以使用一个普通的if标记来测试当前url是否与您构建的url匹配

<s:if test="#url eq #currenturl">
</s:if>

例如,要更改类,可以对锚点定义执行条件内联操作:

<a href="<s:property value="#url"/>" <s:if test="#url eq #currenturl">class="current"</s:if>>XXX</a>

如果URL中的参数对导航有意义,请使用includeParams=“get”,否则请排除该参数,并使用if like:

<s:if test="#url.startsWith(#currenturl)">

要获取当前url,您可以使用url标记,而不使用任何参数、操作等:

<s:url var="currenturl" includeParams="get" escapeAmp="false"/>

然后假设您构建的导航Url类似于:

<s:url var="url" action="someAction" escapeAmp="false">
    <s:param name="id" value="id"/>
</s:url>

然后,您可以使用一个普通的if标记来测试当前url是否与您构建的url匹配

<s:if test="#url eq #currenturl">
</s:if>

例如,要更改类,可以对锚点定义执行条件内联操作:

<a href="<s:property value="#url"/>" <s:if test="#url eq #currenturl">class="current"</s:if>>XXX</a>

如果URL中的参数对导航有意义,请使用includeParams=“get”,否则请排除该参数,并使用if like:

<s:if test="#url.startsWith(#currenturl)">