该项目基于Struts2
我正在使用 XML 制作动态菜单库。此 XML 将被解析并构建最终菜单。
XML 是:
<menus>
<menu>
<name>menu.level1.Home</name>
<action>transfer-to-account-input</action>
<namespace>transaction</namespace>
</menu>
<menu>
<name>menu.level1.Accounts</name>
<action>accounts-summary</action>
<namespace>account</namespace>
</menu>
</menus>
我使用 JSTL 来解析 XML
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<%@ taglib prefix="x" uri="http://java.sun.com/jsp/jstl/xml"%>
<%@ taglib prefix="s" uri="/struts-tags"%>
<x:forEach select="$docRoot/menus/menu" var="menuvar">
<c:set var="menuName">
<x:out select="$menuvar/name" />
</c:set>
<c:out value="${menuName}"/>
<s:text name="%{menuName}" />
..... // s:url shoul also be called
</x:forEach>
问题是c:out
标签显示正确的值,就像menu.level1.Home
我通过这个参数s:text
从 struts 资源包中获取值一样。但它不起作用。
那么,问题是如何将参数从c:set
to传递s:text
?
顺便说一句,有没有更好的从 XML 制作菜单的解决方案?