jsp에서 DB 내용을 가져올 때 <c:out value=”${ vo.comment }” />를 하여서 값을 가져오면 개행(줄바꿈)이 안 되는 경우가 있다. 이럴 경우에 따로 처리를 해줘야 개행(줄바꿈)을 할 수 있다.
나는 크게 3가지 방법을 찾았다.
1. java를 이용해 개행문자('\n')를 <br>태그로 변환
2. <pre> 태그나 css 속성인 white-space를 이용해 html 상에서 출력된 개행문자를 그대로 노출
3. jstl, javascript 등을 이용해 개행문자('\n')를 '<br/> 태그로 변환
- 변수는 comment를 이용할 예정이다.
▷1. java를 이용해 개행문자를 <br>태그로 변환
[ java ]
if(Vo.getComment() != null) {
Vo.setComment (Vo.getComment().replaceAll(“(\r\n | \r | \n | \n\r)” , “<br>”));
}
▷2. jsp에서 <pre> 태그나 css 속성인 white-space를 이용해 html 상에서 출력된 개행문자를 그대로 노출
[ jsp - css이용]
<p style=”white-space:pre-line; word-break: break-all;”>
<c:out value=”${vo.comment }” />
</p>
- style=”white-space:pre-line;"만 써도 가능하지만 가끔 안될 경우가 있어서 찾아본 결과로 word-break: break-all;까지 해주면 잘 된다.
▷3. jstl, javascript 등을 이용해 '\n' 개행문자를 '<br> 태그로 변환
[ jsp - jstl이용 ]
<% pageContext.setAttribute("newLine", "\n"); %>
<p>$(fn:replace( comment, newLine, '<br>')}<p>
개인적으로 3가지 방법 중에 나는 2번 방법을 사용하였다.
728x90
'Spring > JavaScript+Jsp(HTMl)' 카테고리의 다른 글
[ js ] 하루동안 이 창을 열지 않음(하루 그만보기) 기능 구현_팝업,레이어팝업 (2) | 2022.03.13 |
---|---|
[ javaScript ( js ) ] 정규식을 이용한 마스킹 처리(가리기) & 정규 표현식 & replace() & repeat() (0) | 2022.03.12 |
[ javascript(js) ] Object 타입에서 특정 값(value)이 있는지 찾기 (0) | 2022.03.11 |
[ javascript ] div 요소에 onload 이벤트를 추가하는 방법 (0) | 2022.03.10 |
[ SpringFramework ] <form:form> 태그 란? (0) | 2022.03.08 |
댓글