2013-11-09 56 views
0

我使用Struts框架中的一個項目工作比較對象值。以下是我在jsp中的代碼。在<c:if>標籤在struts

<%=WebConstants.get(WebConstants.PaymentType.DPE)%> <%-- display DPE --%> 

${payeeForm.paymentType} <%-- display DPE --%> 

${payeeForm.paymentType != 'WebConstants.get(WebConstants.PaymentType.DPE)'} <%-- display true --%> 

WebConstants.get(WebConstants.PaymentType.DPE)實際上是一個對象,它的值是 「DPE」。因此,當我加載它的我的第一行代碼會在我的頁面顯示「DPE」。

payeeForm.paymentType也是我創建的一個對象,我手動將它的值設置爲DPE,因此它在我的頁面上加載時也顯示「DPE」。

payeeForm.setPaymentType(WebConstants.get(WebConstants.PaymentType.DPE)); 

我的代碼的第三行是比較payeeForm.paymentType和對象。我希望它顯示,當我加載它在我的頁面「假」,但是,它顯示「真」。

如果我硬代碼,使第三行成爲:

${payeeForm.paymentType != 'DPE' } <%-- display false --%> 

然後,它只是在我的網頁,當我加載它顯示「false」。

我更喜歡把它與對象,而不是我硬編碼進行比較。想問一下,我犯了什麼錯誤。 請提醒。

我嘗試過下面的代碼,但它仍然顯示true或顯示其他的東西:

${payeeForm.paymentType != WebConstants.get(WebConstants.PaymentType.DPE)} 
${payeeForm.paymentType != <%=WebConstants.get(WebConstants.PaymentType.DPE)%>} 
${payeeForm.paymentType != '<%=WebConstants.get(WebConstants.PaymentType.DPE)%>'} 

回答

0

我覺得不應該有引號WebConstants.get(WebConstants.PaymentType.DPE)

${payeeForm.paymentType != WebConstants.get(WebConstants.PaymentType.DPE)} 

由於報價你可能會比較文字而不是評估值。

+0

嗨Nishant,其實我之前嘗試過,但它仍然顯示正確。 –