我仍然是struts的新手,并且在struts if语句中尝试比较两个struts params时遇到了麻烦。我正在尝试查找当前年份param是否等于checkYear param
如果它们相等,我想执行一些代码。如果它们不相等,那么我想执行一些其他代码..
示例代码:
<s:param name="currentYear">
<s:date name="%{new java.util.Date()}" format="yyyy" />
</s:param>
<s:param name="checkYear">
<s:date format="yyyy" name="#year"/>
</s:param>
<s:if test="${checkYear == legendYear}">
code executed
</s:if>
我真的不明白if语句的测试部分中'$','%'或'{}'的用途是否或如何应用它来检查params。
提前谢谢!
答案 0 :(得分:0)
在Struts2内部标记中,您使用 OGNL 。 Refer to the small language guide to see how it works.
在OGNL中,%{}
表示您想强制评估表达式;在某个地方需要它,而在其他地方它是超级流体。在<s:if/>
中,不需要它,因为test=""
默认会评估其内容。
${}
,它是 JSP EL 。如果你很好奇的话,可以在StackOverflow上搜索一些很好的答案。
{}
是列表投影...您可能不需要它现在。