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" %> |
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 |
댓글 영역