我正在尝试比较 JSF 中的两个不同对象。一个字符串和一个整数,当然它不起作用......
//myVar ==> 整数对象
//myVar2 ==> 字符串
<c:if test="${myVar == myVar2}">
YES!!!!!!!!
</c:if>
我尝试使用 myVar.toString 但它是错误的。那么该怎么做呢?
谢谢
我正在尝试比较 JSF 中的两个不同对象。一个字符串和一个整数,当然它不起作用......
//myVar ==> 整数对象
//myVar2 ==> 字符串
<c:if test="${myVar == myVar2}">
YES!!!!!!!!
</c:if>
我尝试使用 myVar.toString 但它是错误的。那么该怎么做呢?
谢谢
我正在尝试比较 JSF 中的两个不同对象。一个字符串和一个整数,当然它不起作用......
这听起来不对 - 我会检查这些值。对于豆:
public class CoercedBean {
public int getValueAsInt() {
return 123;
}
public String getValueAsString() {
return "123";
}
}
...这些示例表达式的计算结果为true:
${coercedBean.valueAsInt == coercedBean.valueAsString}
<h:outputText style="color: blue"
value="#{coercedBean.valueAsInt eq coercedBean.valueAsString}" />
JSP 2.1 (EL) 规范提到了评估相等性:
A {==,!=,eq,ne} B
If A or B is Byte, Short, Character, Integer, or Long coerce both A and B to Long, apply operator
尝试使用 JSTL fmt 标签:
<fmt:parseNumber type="number" var="myVar2AsNumber" value=${myVar2} />
<c:if test="${myVar == myVar2AsNumber}">
YES!!!!!!!!
</c:if>
(或者,反过来,您可以使用 fmt:formatNumber 将 Integer 格式化为字符串并与其他字符串进行比较)。