我正在编写一个包含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的解决方案。
答案 0 :(得分:4)
<s:set name="menuName" value="%{#attr['menuName']}" />
<s:set name="it" value="%{#application['tools'][#menuName]}" />
以前从不知道#attr,多么整洁