0

我对 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 语句的测试部分中的 '$'、'%' 或 '{}' 的用途是否或我需要如何应用它来检查参数。

先感谢您!

4

1 回答 1

0

在 Struts2 标记中,您使用OGNL请参阅小型语言指南以了解其工作原理。

在 OGNL 中,%{}意味着您要强制评估表达式;在某处需要它,而在其他地方却是多余的。在 中<s:if/>,不需要它,因为test=""默认情况下会评估其内容。

${}OGNL 中不存在,它是JSP EL。如果您对此感到好奇,请在 StackOverflow 上搜索一些不错的答案。

{}在 OGNL 中只有 List Projection... 你现在可能不需要它。

于 2013-07-17T21:31:42.183 回答