2017-06-22 57 views
0

我試圖在jsp中顯示基於某些條件的圖像。使用jsp文件中的參數調用java方法

<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的值應返回原始整數以匹配方法的參數類型。

+0

你應該接受答案,並儘可能upvote。 –