상세 컨텐츠

본문 제목

[Jsp,EL,JSTL] jsp 페이지 내에서 일정 글자수 이상 자르기

JavaScript & HTML

by husks 2016. 3. 23. 15:55

본문

반응형

Board 나 Portlet 에서 <c:forEach> 태그로 LIST안의 내용을 뿌리는 것을 많이 하게 된다.
이때 뿌려지는 글자의 수가 너무 많아지면 page의 틀이 깨지거나 안맞게 되는 일이있다.
때문에 일정 글자수 이상일경우 잘라서 점(...)처리를 해주어야 한다.


처리전 :
 동해물과 백두산이 마르고 닳도록 하느님이 보우하사 우리 나라만세

처리후 :
 동해물과 백두산이 마르고..



forEach로 밑에와 같이 리스트를 뿌려줄때

 <c:forEach items="${List}" var="data" varStatus="status">
   <c:out value="${data.nm}"/>
</c:forEach>



아래와 같이  <c:choose> 문을 추가해주고 자르는 구문을 적어주면 된다.
( java에서 쓰이는 substring 을 그대로 사용가능하다. 여기서는 14글자보다 클경우 13자리까지 표기하고 뒤에 점(...) 을 붙였다)

 <c:forEach items="${List}" var="data" varStatus="status">
          <c:choose>
           <c:when test="${fn:length(data.nm) > 14}">
            <c:out value="${fn:substring(data.nm,0,13)}"/>....
           </c:when>
           <c:otherwise>
            <c:out value="${data.nm}"/>
           </c:otherwise> 
          </c:choose>
</c:forEach>



c 태그를 쓰기위해서는 아래의 taglib를 추가해 주어야하고

 <%@ taglib uri="http://java.sun.com/jstl/core_rt" prefix="c" %>


글자를 자를때 쓰이는 fn 태그를 쓰려면 아래와같이 c 와 더불어 추가해주어야 한다

<%@ taglib uri="http://java.sun.com/jstl/core_rt" prefix="c" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn" %>



출처: http://devbible.tistory.com/60

반응형

'JavaScript & HTML' 카테고리의 다른 글

jquery date add day (스크립트 날짜 추가)  (0) 2016.05.12
jQuery 날짜 비교 (날짜비교)  (0) 2016.05.04
JSTL 리스트 넘버, 순번 (varStatus, index, count)  (0) 2016.03.23
javascript 화면 캡쳐  (0) 2016.03.14
AngularJS  (0) 2016.01.19

관련글 더보기

댓글 영역