Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/ant/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Struts2 引用简单标记和Struts 2.x的属性_Struts2_El_Ognl_Custom Tags - Fatal编程技术网

Struts2 引用简单标记和Struts 2.x的属性

Struts2 引用简单标记和Struts 2.x的属性,struts2,el,ognl,custom-tags,Struts2,El,Ognl,Custom Tags,我正在编写一个简单的标记,它包含如下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" ty

我正在编写一个简单的标记,它包含如下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" %>
<s:set name="it" value="%{#application['tools'][${menuName}]}" />

Struts 2标记中有一点我需要引用以下属性之一:

<%@ 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" %>
<s:set name="it" value="%{#application['tools'][${menuName}]}" />

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

是否有方法引用我需要引用的属性。我真的不想考虑任何解决方案,让我去以前版本的JSTL或Struts。< /P> <代码>
<s:set name="menuName" value="%{#attr['menuName']}" /> 
<s:set name="it" value="%{#application['tools'][#menuName]}" />

以前从来都不知道#attr有多整洁

以前从来都不知道#attr有多整洁。必须再等7个小时才能回答。只是澄清一下,EL在Struts2中没有禁用。它只是作为struts标记的参数值被禁用。您可以在JSP或自己的标记文件中使用EL。是的,谢谢您的澄清。我的意思是在struts标记中,比如set。对不起,我的词汇量太少了。