Java 将参数从c:out标记传递到struts s:text标记
该项目基于Struts2 我正在使用XML创建一个动态菜单库。将解析此XML并构建最终菜单 XML是:Java 将参数从c:out标记传递到struts s:text标记,java,xml,jsp,struts2,jstl,Java,Xml,Jsp,Struts2,Jstl,该项目基于Struts2 我正在使用XML创建一个动态菜单库。将解析此XML并构建最终菜单 XML是: <menus> <menu> <name>menu.level1.Home</name> <action>transfer-to-account-input</action> <namespace>transaction</namespace>
<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>
menu.level1.Home
转入账户输入
交易
menu.level1.Accounts
帐目摘要
账户
我已经使用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>
..... // s:url也应该被称为
问题是c:out
标记显示正确的值,如menu.level1.Home
我将s:text
传递给此参数,以从struts资源包中获取值。但它不起作用
因此,问题是如何将参数从c:set
传递到s:text
顺便问一下,有没有更好的解决方案可以从XML创建菜单?试试看
<s:property value="%{#attr.menuName}" />
不确定xml,但您可以从标记构建菜单