Java Struts 2和Spring with EL-打印变量的不同类型是什么
我是EL的新手(特别是Struts 2)。我正在更新当前代码,看到不同类型的条目。有什么区别Java Struts 2和Spring with EL-打印变量的不同类型是什么,java,struts2,tags,el,Java,Struts2,Tags,El,我是EL的新手(特别是Struts 2)。我正在更新当前代码,看到不同类型的条目。有什么区别 <s:property value="%{obj.field}"/> // With %{} <s:property value="obj.field"/> // Without %{} <s:property value="%{#obj.field}"/> // with %{} and prefixed # ${obj.field} // with
<s:property value="%{obj.field}"/> // With %{}
<s:property value="obj.field"/> // Without %{}
<s:property value="%{#obj.field}"/> // with %{} and prefixed #
${obj.field} // with ${}
// any other types I may have missed...
//与%{}
//没有%{}
//带%{}和前缀#
${obj.field}//带${}
//我可能错过的任何其他类型。。。
这不是JSTL,而是。当在Struts标签中时
%{}
表示强制对表达式求值。大多数情况下,它是无用的,因为评估是自动的,但它可以用于一致性,以明确评估正在进行的事实
%{foo}
表示您正在访问ValueStack中的foo对象(例如操作属性)
%{#foo}
表示您正在访问的是foo对象,但不在ValueStack中
阅读更多信息
${foo}
是JSPEL(表达式语言)
JSTL是一个不同的库,它的用途类似于
,
,
等等
你可以,顺便说一句
在使用Struts2时,通常使用OGNL和Struts标记(但如果需要,没有任何东西阻止您使用JSTL)。当使用SpringMVC时,您只使用JSTL
EL在处理JSP时总是可以使用的,但是它已经使用了,并且需要使用Struts2进行一些调整。和,等等。