캐리지 리턴(엔터,라인피드)에 대한 처리...
Posted 2007. 12. 5. 20:25이전 JSTL을 사용하기 이전엔 자바의 replace메소드 하나로 모두 해결했었다.
<%=content.replaceAll("<","<").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"); %>
요것도 추가했다..
맞는건지 모르겠지만 암튼 그래도 잘 나온다.
<%=content.replaceAll("<","<").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"); %>
요것도 추가했다..
맞는건지 모르겠지만 암튼 그래도 잘 나온다.
'개발노트 > JAVA & JSP' 카테고리의 다른 글
몇분전, 몇시간전, 몇일전, 몇달전...을 표현하는 util (3) | 2011.03.03 |
---|---|
디자인 패턴을 포함한 무료강좌 (0) | 2010.05.07 |
나만의 어노테이션(커스텀 어노테이션) 만들기 (0) | 2010.04.30 |
java 의 annotation에 대해서 알아보자 (0) | 2010.04.30 |
[링크]JSTL 기초, Part 3: 보여지는 것도 중요하다! (0) | 2007.10.08 |
- Filed under : 개발노트/JAVA & JSP