2

我正在编写一个简单的标签,其中包含 4 个属性,如下所示:

<%@ taglib prefix="s" uri="/struts-tags"%>
<%@ attribute name="menuName" description="Name of Major Menu" required="true" %>
<%@ attribute name="menuSize" description="Number of Items In Menu" required="true" type="java.lang.Integer" %>
<%@ attribute name="menuImage" description="Icon for Image" required="true" %>
<%@ attribute name="menuNumber" description="Order of Positioning" required="true" %>

在 Struts 2 标记中有一点我需要引用这些属性之一,如下所示:

<s:set name="it" value="%{#application['tools'][${menuName}]}" />

所以你看我正在根据传入的菜单名称在 OGNL 表达式中进行查找。从我看到的所有示例中,EL 是引用属性 menuName 的常用方法,但在 Struts 2.x 中,EL 被禁用出于安全原因。

有没有办法引用我需要引用的属性。我真的不想考虑任何涉及我使用以前版本的 jstl 或 struts 的解决方案。

4

1 回答 1

4
<s:set name="menuName" value="%{#attr['menuName']}" /> 
<s:set name="it" value="%{#application['tools'][#menuName]}" />

以前从不知道#attr,多么整洁

于 2011-06-01T22:38:23.790 回答