【问题标题】:Passing a parameter from c:out tag to struts s:text tag将参数从 c:out 标签传递到 struts s:text 标签
【发布时间】:2013-09-20 16:26:34
【问题描述】:

项目基于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 传递给s:text

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

【问题讨论】:

    标签: java xml jsp struts2 jstl


    【解决方案1】:

    试试

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

    不确定xml,但您可以从sj:menu标签构建菜单

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-03-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-01-14
      • 2010-09-22
      • 1970-01-01
      相关资源
      最近更新 更多