你如何比较struts中的2个struts param

时间:2013-07-17 21:16:18

标签: struts2 ognl

我仍然是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。

提前谢谢!

1 个答案:

答案 0 :(得分:0)

在Struts2内部标记中,您使用 OGNL Refer to the small language guide to see how it works.

在OGNL中,%{}表示您想强制评估表达式;在某个地方需要它,而在其他地方它是超级流体。在<s:if/>中,不需要它,因为test=""默认会评估其内容。

OGNL中不存在

${},它是 JSP EL 。如果你很好奇的话,可以在StackOverflow上搜索一些很好的答案。

单独在OGNL中的{p> {}是列表投影...您可能不需要它现在