java - 从 c :out tag to struts s:text tag 传递一个参数

标签 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>
    </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 资源包中获取值(value)。但它不起作用。

那么,问题是如何将参数从c:set传递给s:text

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

最佳答案

尝试

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

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

关于java - 从 c :out tag to struts s:text tag 传递一个参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18829409/

相关文章:

java - Android无法向Mysql数据库插入数据但logcat中插入数据

php - 如何确保文件是 XML 文件

javascript - 在新页面上加载 ajax 成功数据

java - Tomcat - 请求的资源不可用 - IntelliJ IDEA - Java EE

java - Android传递长值Intent

Python + 外籍人士 : Error on &#0; entities

java - 服务器和客户端之间的通信标准

javascript - 无法使用 javascript 将 JSON 响应转换为 HTML 表

java - 如何在 Android Spinner 的下拉菜单中启用快速滚动(拇指)?

java - 从用户 Java 输入中获取首字母