첨부파일 확장자에 따라 이미지 파일일수도 있고, 문서파일일수도 있고 한다.
파일확장자로 파일 이미지 종류를 구분해주고자 하는데
이때 필요한 태그는 <c:forTokens>이다
forTokens이란
java에서 split을 주고 split을 준 배열을 for문돌리는 형태와 유사하다고 보면 된다.
샘플소스이다.
<c:set var="filename" value="koala.jpg" /> <c:set var="fileNm" value="${fn:toLowerCase(filename)}" /> <c:forTokens var="token" items="${fileNm }" delims="." varStatus="status"> <c:if test="${status.last }"> <c:choose> <c:when test="${token eq 'hwp' }"> <img src="한글파일이미지" alt="${filename }" /> </c:when> <c:when test="${token eq 'xls' || token eq 'xlsx' }"> <img src="엑셀파일이미지" alt="${filename }" /> </c:when> <c:when test="${token eq 'jpg' || token eq 'gif' || token eq 'png' || token eq 'bmp' }"> <img src="이미지파일이미지" alt="${filename }" /> </c:when> <c:when test="${token eq 'pdf'}"> <img src="pdf파일이미지" alt="${filename }" /> </c:when> <c:when test="${token eq 'ppt' }"> <img src="파워포인트파일이미지" alt="${filename}" /> </c:when> <c:otherwise> <img src="기본파일이미지" alt="${filename }" /> </c:otherwise> </c:choose> ${filename} </c:if> </c:forTokens>
위를 응용한다면 확장자 구분을하여 첨부파일에 대한 이미지를 뿌려줄 수
있을것이다!!
도움이 되셨다면 손가락↓ 클릭! 궁금하신점은 댓글!!
JSTL을 이용하여 세자리 단위로 콤마 찍기(fmt:formatNumber) (0) | 2014.06.18 |
---|---|
JSTL을 이용하여 문자열을 DATE형식으로 파싱하기(fmt:parseDate) (0) | 2014.06.18 |
JSTL - 지정수만큼 반복한후 줄 변경하기(ex : 포토갤러리) (2) | 2014.06.13 |
예를들어서 value값은 int 형으로 가격에 대한 값을 가지고 있는 price 가
존재한다.
price가 2000이라는 값을 가지고 있지만, 화면에는 2,000 형식으로 표시를 해주고 싶다.
이럴경우 JSTL의 formatNumber라는 놈을 써주면 되겠다!!
JSTL의 포맷기능을 사용하기 위해서는 하단의 taglib를 페이지에 선언해줘야
한다.
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>
<%
//여기에 들어갈 java코드
%>
int price = 50000; request.setAttribute("price",price);
JSTL format 을 이용하여 세자리마다 콤마를 찍어줄수 있다.
파싱전 문자열값 : ${price } <br/> 파싱후 문자열값: <fmt:formatNumber value="${price }" pattern="#,###" />
JSTL formatNumber 사용전과 사용후의 차이점이다.
좋고만~
JSTL - 확장자명으로 구분하여 첨부파일 이미지 보이기 (2) | 2014.06.20 |
---|---|
JSTL을 이용하여 문자열을 DATE형식으로 파싱하기(fmt:parseDate) (0) | 2014.06.18 |
JSTL - 지정수만큼 반복한후 줄 변경하기(ex : 포토갤러리) (2) | 2014.06.13 |
임의로 jsp 페이지에서 받는 문자열 연월일시분초가 다음과 같다
페이지 상단 영역에 TAGLIB 정의를 하고 jstl을 이용해보자.
JSTL의 포맷기능을 사용하기 위해서는 하단의 taglib를 페이지에 선언해줘야
한다.
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>
<%
//여기에 들어갈 java코드
%>
String dateStr = "20140203021213"; request.setAttribute("dateStr",dateStr);
JSTL format 을 이용하여 date형식으로 파싱해줄수 있다.
파싱전 문자열값 : ${dateStr}
<fmt:parseDate var="dateString" value="${dateStr}" pattern="yyyyMMddHHmmss" /> 파싱후 문자열값: <fmt:formatDate value="${dateString}" pattern="yyyy.MM.dd HH:mm:ss" />
JSTL fmt 사용전과 사용후의 차이점이다.
사실 피곤하긴하지만 substring을 써서 만들어도 무관하다. ㅋㅋㅋ
JSTL - 확장자명으로 구분하여 첨부파일 이미지 보이기 (2) | 2014.06.20 |
---|---|
JSTL을 이용하여 세자리 단위로 콤마 찍기(fmt:formatNumber) (0) | 2014.06.18 |
JSTL - 지정수만큼 반복한후 줄 변경하기(ex : 포토갤러리) (2) | 2014.06.13 |
JAVA코드로도 짤수 있으나 간혹가다가 리스트 형식의 데이터를 한줄에 몇개씩 보여주고
줄바꿈을 해주는 이런 경우가 발생했던적이 있어서 한번 올려보겠다.
우선 흔히 DB에서 list 객체로 뽑아온 갤러리게시판을 예로 들자 .
화면에는
이미지1 |
이미지2 |
이미지3 |
이미지4 |
이미지5 |
이런식으로 나오고 있다.
하지만 사용자가 가로로 3개씩 나오게 해달라고 요구를 한다.
이미지1 |
이미지2 |
이미지3 |
이미지4 |
이미지5 |
|
그럴경우 해당 샘플을 응용해서 적용해보자
스크립트와/css로도 가능한걸로 알고있지만, 그쪽까지는 잘 모름... ^^;;
우선 임의로 list객체에 데이터들을 넣어줬다.
ArrayList<Integer> list = new ArrayList<Integer>(); for(int i=0; i<10; i++) { list.add(i); }
그럼 이제 JSTL의 foreach문을 돌려서 한줄에 3개씩의 데이터를 뽑아보도록 하겠다!!
이전에 JSTL jar 라이브러리 추가하고 상단에 taglib 선언을 했다고 가정하에 동작하는 화면이다.
<c:set var="i" value="0" /> <c:set var="j" value="3" /> <table border="1"> <c:forEach items="${list }" var="list"> <c:if test="${i%j == 0 }"> <tr> </c:if> <td>${list }</td> <c:if test="${i%j == j-1 }"> </tr> </c:if> <c:set var="i" value="${i+1 }" /> </c:forEach> </table>
결과화면
참쉽죠잉~
도움이 되셨다면 손가락↓ 클릭! 궁금하신점은 댓글!!
JSTL - 확장자명으로 구분하여 첨부파일 이미지 보이기 (2) | 2014.06.20 |
---|---|
JSTL을 이용하여 세자리 단위로 콤마 찍기(fmt:formatNumber) (0) | 2014.06.18 |
JSTL을 이용하여 문자열을 DATE형식으로 파싱하기(fmt:parseDate) (0) | 2014.06.18 |