검색어 : jsp 한줄 띄우기
http://jeongsam.net/242
http://choikyusun.tistory.com/entry/jsp-%EC%A4%84%EB%B0%94%EA%BF%88-%EB%B0%A9%EB%B2%95%EC%9D%80-%EC%9D%B4%EB%9F%B0%EC%8B%9D%EC%9C%BC%EB%A1%9C-%ED%95%98%EC%9E%90
검색어 : 개행문자를 <br>
http://curtis.tistory.com/entry/nl2br-%EC%97%86%EC%9D%B4-%EA%B0%9C%ED%96%89%EB%AC%B8%EC%9E%90n%EB%A5%BC-br%ED%83%9C%EA%B7%B8%EB%A1%9C-%EB%B0%94%EA%BE%B8%EA%B8%B0
더보기 접기
웹 프로그래밍을 할때 여러 줄을 처리하다보면
개행문자(\n)를 <br />태그로 바꿔줘야 할 상황이 종종 발생합니다.
PHP같은 경우는 nl2br()이라는 함수를 통해서 주로 바꾸곤 했는데
이를 CSS를 통해서도 해결이 가능합니다.
<p style="white-space: pre-line">이것은 첫번째 줄
두번째줄
세번째줄 랄랄라</p>
nl2br()등을 적용하지 않는 환경일 경우 replace()함수등을 사용하여 개행문자를 <br />로 바꾸곤 했는데 위와 같은 방법으로도 해결 가능할 것 같습니다.
접기
http://jeongsam.net/242
http://javaking75.blog.me/220032916703
더보기 접기
[JSP] JSTL을 이용하여 개행(줄바꿈)문자를<br>태그로
바꾸기
DB에 저장된 텍스트중 개행(줄바꿈)문자를 <br>태그로 바꿔야 할 필요가 있을때가 종종 있습니다.
예를 들어 입력시에는 텍스트 박스(textarea) 를 이용하여 데이터를 저장하지만
브라우저에 텍스트를 뿌릴때는 개행처리가 되지 않습니다. 그래서 개행 위치마다 <br>태그를 채워넣어야 하죠. 이럴때, JSTL과
스크립트릿을 사용하면 간단히 처리할수있습니다.
1
2
<% pageContext.setAttribute("LF" , "\n" ); %>
<c:out escapeXml = "false" value = "$(fn:replace(stringvalue, LF, '<br>')" > </c:out>
JSTL Core 라이브러리중 <c:out> 태그의 escapeXml속성은 브라우저가 HTML태그를 해석하여 브라우징 할수있도록
해주며, fn:replace()함수를 이용하여 개행문자를 <br>태그로 바꿔줍니다. 이때 개행문자와 같은 이스케이프 문자는
JSTL태그가 해석을 할 수 없기 때문 에 pageContext를 이용하여 page 생존 범위에 LF라는 이름의 변수에 개행문자를 저장하고
, fn:replace() 함수에서 사용할 수 있게 해줍니다.
<c:out>태그
JSP의 표현식을 대체하는 것으로 가장 많이 사용
화면에 해당 변수값을 출력.
변수가 가진값이 null일경우 공백으로 출력
<c:out>태그의 기본형
<c:out
var="varName " default="defaultValue "
escapeXml="{true |false }" />
<c:out>태그의 속성
var 속성 : 속성값으로 변수명을 갖는다.
default 속성 : 기본값을 설정하는 부분이다.
excapeXml 속성 : 속성 값으로 true또는 false 값을 가진다.
생략시 기본값은 true이다.
true로 설정시 escapeXml속성은 값 중에 포함된 < > & '
" 문자들을 각각 < > & ' " 로 출력한다.
<c:out> 태그의 excapeXml 속성 예제.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<%@ page language="java" contentType="text/html; charset=EUC-KR"
pageEncoding="EUC-KR" %>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=EUC-KR" >
<title> Insert title here</title>
</head>
<body>
<c:set var="cout" value="<h1>테스트</h1>" />
<c:out value="${cout}" /> <!-- escapeXml속성의 기본값은 true
-->
<hr>
<c:out value="${cout}" escapeXml="false" />
</body>
</html>
[코드]
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
<%@ page language="java" contentType="text/html; charset=EUC-KR" pageEncoding="EUC-KR" %> <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core " %> <%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions " %> <% pageContext.setAttribute("cout" , "개행문자테스트\n줄바꿈완료" ); %> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=EUC-KR" > <title> Insert title here</title> </head> <body> <% pageContext.setAttribute("LF" , "\n" ); %> <c:out escapeXml = "false" value = "${fn:replace(cout, LF, '<br>')}" > </c:out> <hr> <c:out escapeXml = "true" value = "${fn:replace(cout, LF, '<br>')}" > </c:out> <hr> ${fn:replace(cout, LF, '<br> ')} </body> </html>
줄바꿈, 공백 처리
<!-- 상단에 선언 -->
<% pageContext.setAttribute("CR", "\r"); pageContext.setAttribute("LF", "\n"); pageContext.setAttribute("CRLF",
"\r\n"); pageContext.setAttribute("SP",
" "); pageContext.setAttribute("BR",
"<br/>"); %>
<!-- jstl로 변환처리 -->
<c:set var="cmt"
value="${fn:replace(coment.coment,CRLF, BR)}" />
<c:set var="cmt" value="${fn:replace(cmt,CR,
BR)}" />
<c:set var="cmt" value="${fn:replace(cmt,CR,
BR)}" />
<c:set var="cmt" value="${fn:replace(cmt,'
',SP)}" />
<!-- 화면에 출력하기 -->
<c:out value="${cmt}"
escapeXml="false"/>
접기
검색어 : ${fn:replace(cmt,LF,BR)}
http://aircook.tistory.com/entry/Jakarta-String-Tag-Library
<c:out escapeXml = "false" value = "$(fn:replace(stringvalue, LF, '<br>')"></c:out>
<c:forEach items="${code_leaf_type}" var="leaf_type">
<c:forEach var="i" begin="1" end="10">
<c:when test="${i == 5}">
<c:set var="cmt" value="${fn:replace(cmt,LF,BR)}" />
<c:out value="${cmt}" escapeXml="false"/>
</c:when>
<div class="code_leaf_type" id="${leaf_type.dtl_cd}">
<input type="button" value="${leaf_type.dtl_name}" class="btn_option" id="${leaf_type.dtl_cd}"><br>
<img src="${leaf_type.img_file_path}${leaf_type.img_file_name}" width="60px" height="52px">
</div>
</c:forEach>
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %>
<% pageContext.setAttribute("LF","/n"); %>
<c:forEach var="i" begin="1" end="10">
<c:choose>
<c:when test="${i == 5}">
<c:set var="cmt" value="${fn:replace(cmt,LF, BR)}" />
<c:out value="${cmt}" escapeXml="false"/>
<br><br><br>
</c:when>
</c:choose>
</c:forEach>
다 안됨. 다른 방법 찾아야 겠음
<c:forEach var="i" begin="1" end="10">
<c:choose>
<c:when test="${i == 5}">
<br><br><br><br>
</c:when>
</c:choose>
</c:forEach>
됨. 근데 이문제가 아니었음.