이전 JSTL을 사용하기 이전엔 자바의 replace메소드 하나로 모두 해결했었다.

<%=content.replaceAll("<","&lt;").replaceAll("\r\n","<br>") %>

그런데 JSTL을 사용하는 지금은..... 어떻게 해야하나..

<c:out ....... escapeXml="true"/> 로 일단 "<" 처리는 끝났고...
엔터값에 대한 <br/>처리를 해야 하는데...
<fn:replace />를 하면 되겠다 시펐는데 안된다.
이유? 몰겠다...
그래서 결국 찾은것은....

jsp 선언부쪽에다가
<%pageContext.setAttribute("crlf", "\r\n"); %>이거 넣고...

crlf를 <fn:replace 하니까 된다....

${fn:replace(record[4],crlf,"<br/>")}  <==요렇게 말이다.

헉!! 그런데 Ajax를 통해 inset 한 부분에서는 안된다... 왜그럴까?
삽질을 통해서 알게 된 사실은...

캐리지 리턴은 없고 라인피드만 있다는것...
그래서 그부분을 위해서 한줄 더 추가...
<%pageContext.setAttribute("lf", "\n"); %>
그리고 라인피드 없이 캐리지리턴만 나올경우를 대비해서..
<%pageContext.setAttribute("cr", "\r"); %>
요것도 추가했다..

맞는건지 모르겠지만 암튼 그래도 잘 나온다.


Write your message and submit
« PREV : 1 : ··· : 8 : 9 : 10 : 11 : 12 : 13 : NEXT »