VO에 useYN이라는 변수가 있다. 물론 String형으로 선언된.
이 변수에 'Y'라는 값을 받아와서 query xml에서 조건문으로 비교를 했는데 NumberformatException이 난다면?
당황하지말고...다음과 같이 해본다.
자, 금방 해결되었다.
이는 myBatis 문제는 아니고 OGNL(Object Graph Navigation Language) 의 문제.
OGNL 인터프리터에서는 위 구문의 ‘Y’를 char 형으로 인식하고, ‘YY’나 “Y”는 String으로 인식한다. java의 char형은 실제로 문자의 코드값을 저장하기 때문이라고 한다.
해결책으로는 다음과 같은 방법이 있다.
1. <if test=’stringValue == “Y”‘> – 쌍따옴표와 홑따옴표의 위치를 변경 (이건 헷갈릴거같고)
2. <if test=”stringValue == "Y"”> – 쌍따옴표를 HTML 코드로 변경(이건..음...)
3. <if test=”stringValue == ‘Y’.toString()”> – toString() 함수를 사용해 String 형으로 변환(당첨)
(출처 : http://t-ara72.blogspot.kr/2013/10/mybatis-numberformatexception.html)
'JAVA+Mybatis' 카테고리의 다른 글
mybatis에서 foreach문 쓰기 두 번째 (0) | 2019.09.03 |
---|---|
javax.el.PropertyNotFoundException (0) | 2015.11.20 |
Mybatis에서 프로시져호출로 객체에 값 return하기(out parameter) (0) | 2015.10.22 |
mybatis에서 foreach문 쓰기 (0) | 2015.06.19 |