2009-06-08 82 views
3

我想比較JSF中的兩個不同的對象。 一個字符串和一個整數,賽道的它不工作...JSF <c:if>與不同的對象類型

// myVar的==>整數對象
// myVar2 ==>字符串

<c:if test="${myVar == myVar2}"> 
    YES!!!!!!!! 
</c:if> 

我嘗試用myVar.toString但它是錯誤的。 那麼該怎麼做呢?

感謝的

回答

4

我想在JSF中比較兩個不同的對象。一個字符串和一個整數,它不起作用的線...

這聽起來不對 - 我會檢查值。對於豆:

public class CoercedBean { 

    public int getValueAsInt() { 
    return 123; 
    } 

    public String getValueAsString() { 
    return "123"; 
    } 

} 

...這些示例表達式求真正

${coercedBean.valueAsInt == coercedBean.valueAsString} 
<h:outputText style="color: blue" 
    value="#{coercedBean.valueAsInt eq coercedBean.valueAsString}" /> 

的JSP 2.1(EL)規範說評估平等的:

A {==,!=,eq,ne} B 

如果A或B是字節,短,字符, 整數或長度都強制A和B to Long,申請運營商

2

嘗試使用JSTL格式化標籤:

<fmt:parseNumber type="number" var="myVar2AsNumber" value=${myVar2} /> 


<c:if test="${myVar == myVar2AsNumber}"> 
     YES!!!!!!!! 
</c:if> 

(或者,在倒車時,你可以使用FMT:formatNumber的整數格式的字符串和比較其他字符串)。

相關問題