我试图在jsp中基于某些条件显示图像。
<s:if test="%{#employee.ratingInfo.ispromoted!=null && #employee.ratingInfo.ispromoted.code==56}">
<i class="check"></i>
</s:if>
<s:else>
<i class="invalid"></i>
</s:else>
我想检查是否有一种方法可以通过传递employee.ratingInfo.ispromoted.code
作为参数来调用java中的函数,然后根据返回值我们可以显示图像。例如 -
JSP:
<s:if test="checkRating(#employee.ratingInfo.ispromoted.code)">
<i class="check"></i>
</s:if>
<s:else>
<i class="invalid"></i>
</s:else>
的java:
public boolean checkRating(int rating){
if(rating==56){
return true;
}
return false;
}
我们有没有办法实现它。将参数从jsp传递给java中的函数以检查条件是否正确。
答案 0 :(得分:0)
OGNL中的方法调用与Java中的不同。请参阅OGNL语言指南中的Calling Methods。
OGNL调用方法与Java的方式略有不同, 因为OGNL被解释并且必须在运行时选择正确的方法 时间,除了实际参数之外没有额外的类型信息 提供。 OGNL总是选择它能找到的最具体的方法 其类型与提供的参数匹配;如果有两个或更多 同样具体且与给定参数匹配的方法,一个 他们将被任意选择。
特别是,null参数匹配所有非基本类型,等等 最有可能导致调用意外方法。
#employee.ratingInfo.ispromoted.code
的值应返回原始整数以匹配方法的参数类型。