JSF에서 두 개의 다른 객체를 비교하려고합니다. String와 정수, 꾸르의 그것은 ... 작동하지 않습니다다른 객체 유형을 가진 JSF <c:if>
// myVar에 ==> 정수
// myVar2 ==> 문자열
<c:if test="${myVar == myVar2}">
YES!!!!!!!!
</c:if>
내가 함께 시도 객체 myVar.toString하지만 잘못된 것입니다. 그렇게하는 방법?
감사의
JSF에서 두 개의 다른 객체를 비교하려고합니다. String와 정수, 꾸르의 그것은 ... 작동하지 않습니다다른 객체 유형을 가진 JSF <c:if>
// 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";
}
}
... 이러한 예 표현식은 사실로 평가 :
:A {==,!=,eq,ne} B
${coercedBean.valueAsInt == coercedBean.valueAsString} <h:outputText style="color: blue" value="#{coercedBean.valueAsInt eq coercedBean.valueAsString}" />
는 JSP 2.1 (EL) 스펙 평가 평등의 말한다
A 또는 B가 Byte, Short, Character, 정수 또는 Long 인 경우 A와 B 모두 to Long, 신청 연산자
JSTL의 FMT 태그를 사용해보십시오 :
<fmt:parseNumber type="number" var="myVar2AsNumber" value=${myVar2} />
<c:if test="${myVar == myVar2AsNumber}">
YES!!!!!!!!
</c:if>
(또는 역으로, 당신이 사용할 수 FMT : formatNumber는 String로서 정수를 포맷하고 다른 문자열로 비교하기 위해).