2013-09-16 51 views
2

该项目基于Struts2将参数从c:out标签传递给struts s:text标签

我正在使用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传递到s:text

顺便说一下,有没有更好的解决方案,从XML制作菜单?

回答

1

尝试

<s:property value="%{#attr.menuName}" /> 

不知道有关XML,但你可以从sj:menu标签建立菜单

相关问题