2009-06-08 78 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的整数格式的字符串和比较其他字符串)。

相关问题