2012-05-02 62 views
1

我在jsp文件中寫入一個條件,根據該條件顯示圖像。它是這樣的。jsp中的struts標記「if test」

<s:if test='#session.member.memberisadmin == "Y" 
    && #session.member.hasPermission("Update access to white list terms") =="true" '> 

<a href="<gs:url action="listLabs" namespace="/labs"/>"><img src="<gs:url 
value="/images/labs/labs-48px.png"/>" alt="General Sentiment Labs" style="margin- 
bottom:5px;" /></a> 

</s:if> 

問題是與第二條件session.member.haspermission,因爲當正在使用||(或)而不是& &(和)其工作的罰款。請爲我提供一個解決方案。

+1

當你使用它的工作原理||因爲第一個條件是真的。當您使用&&時,它失敗,因爲第二個條件是錯誤的。那麼你能解釋一下問題到底是什麼嗎? – Dandy

+0

什麼是價值。恕我直言,確定用戶是否有權限,並在其中設置一個值,並在jsp中進行比較。 –

+0

當我單獨將第二個條件的值分配給一個javascript變量時,我在netbeans ide中得到redcolor錯誤... var result =「「 –

回答

2

member.hasPermission()方法的結果是什麼類型? 如果返回boolean那麼你的桅杆檢查它像這樣

<s:if test='#session.member.memberisadmin == "Y" && #session.member.hasPermission("Update access to white list terms")'>

+0

Re:(1),你可以在OGNL表達式中使用==來比較字符串。請參閱[OGNL語言指南運營商部分](http://commons.apache.org/ognl/language-guide.html#Operators)。 –

+0

是的,你是對的。 「如果它們是同一個對象,或者equals()方法說它們是相等的,它們是相等的。」不知道,謝謝。 –

+0

方法member.hasPermission()返回布爾值,即true或false ... –