Struts2 如何比较struts中的两个struts参数

Struts2 如何比较struts中的两个struts参数,struts2,ognl,Struts2,Ognl,我对struts还是相当陌生,在struts if语句中比较两个struts参数时遇到了麻烦。我正在尝试查找当前年份参数是否等于checkYear参数 如果它们相等,我想执行一些代码。如果它们不相等,那么我想执行其他一些代码 示例代码: <s:param name="currentYear"> <s:date name="%{new java.util.Date()}" format="yyyy" /> </s:param> <s:param na

我对struts还是相当陌生,在struts if语句中比较两个struts参数时遇到了麻烦。我正在尝试查找当前年份参数是否等于checkYear参数

如果它们相等,我想执行一些代码。如果它们不相等,那么我想执行其他一些代码

示例代码:

<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语句的测试部分中的“$”、“%”或“{}”的用途,如果需要或如何应用它来检查参数


提前谢谢你

在Struts2标记中,您可以使用OGNL

在OGNL中,
%{}
表示要强制计算表达式;它在某个地方是需要的,而在其他地方是多余的。在
中,不需要它,因为默认情况下,
test=”“
将评估其内容

${}
在OGNL中不存在,它是JSP EL。如果你好奇的话,在StackOverflow上搜索一些不错的答案


OGNL中只有列表投影。。。您现在可能不需要它。

请不要以愚蠢的方式编辑您的文章,从而破坏代码格式。顺便说一句,要设置代码格式,请在每行按4个空格,或粘贴一个标签文本,或使用代码按钮
{}
,或按CTRL+Kar确定要在此处设置参数标记,或设置标记?另外,您确定该逻辑属于视图层吗?我对此表示怀疑。而且这不是比较日期的正确方法。