<if test="logCount <= 0">
#{logCount},
</if>
XML에 기록하면 오류가 남.
원인은 해당 문서가 XML이기 때문에 SAX Parser가 동작하면서 "<" 기호를 XML Parsing대상으로 인식했기 때문입니다.
따라서 HTML 문서에 쓰듯이 해당 문자들에 대해서 다음과 같은 형태로 다르게 써야 합니다. HTML과의 차이점은 앞에 &라던가 ; 같은 기호를 안 붙여도 된다는 점이죠.
기호 |
대체식 |
예제 |
< |
lt |
<if test="logCount lt 0"> |
> |
gt |
<if test="logCount gt 0"> |
<= (또는 =<) |
lte |
<if test="logCount lte 0"> |
>= (또는 =>) |
gte |
<if test="logCount gte 0"> |
아마도 이런 오류를 안 만나신 분들은 SQL을 넣는 문서로 XML을 안 쓰신 분들로 보입니다. (MyBatis 설정에서 해당 문서를 XML이 아니라 SQL등의 Text문서로도 정의할 수 있습니다.) 이런 경우에는 이런 제약점은 없겠지만, XML을 쓰는 좋은 이유들이 있기 때문에 앞으로도 계속 쓰게 될 듯 하네요. 전에 포스팅한 것과 같이 꼭 명심하고 사용해야겠습니다.
감사합니다.
'Tip' 카테고리의 다른 글
[javascript] attr(), prop() 차이 (0) | 2020.04.02 |
---|---|
[spring] file upload size 설정 (0) | 2020.04.02 |
[JAVA] 날짜, 시간 제대로 사용하기 (0) | 2020.04.02 |
[mybatis] select 결과를 hashMap 에 저장 (0) | 2020.04.02 |
[javascript] decodeURI (0) | 2020.04.02 |