JSTL- 사용 하기

 | JSP
2012. 5. 8. 18:15

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

테그 라이브러리를 맨 위 임포트 페이지 쪽에 정의 하자. core는 c 로 fmt 는 fmt(포멧) 으로 사용하는게 정신건강에 이로우며

<fmt:bundle basename="kr.or.ddit.res.board"
            prefix="BOARD.">

이런식의 응용도 가능 하다.

먼저 board.properties 를 만들어야 한다.

BOARD.TITLE=Sunhee mom's Doodle
BOARD.NEW=new
BOARD.LIST.NO=no
BOARD.LIST.TITLE=title
BOARD.LIST.WRITER=writer
BOARD.LIST.HIT=hit
BOARD.LIST.DATE=date
BOARD.LIST.TIP={0} is write, {1} hit ,{2} haha
BOARD.LIST.PREV=Previous
BOARD.LIST.NEXT=Next

이는 소스의 내용이다. 이것을 이용 하여

<thead>
                <tr>
                    <th><fmt:message key="LIST.NO"/></th>
                    <th><fmt:message key="LIST.TITLE"/></th>
                    <th><fmt:message key="LIST.WRITER"/></th>
                    <th><fmt:message key="LIST.HIT"/></th>
                    <th><fmt:message key="LIST.DATE"/></th>
                </tr>

이런식의 key 값을 지정 하여 사용 할수 있다.

 

jstl_변경전(1).jpg

 

이러한 포문을

 

jstl_변경후(1).jpg

변경 되었다 request.setAttribute 에 list 를 "dragon" 이라는 key 값으로 주며

그것을 forEach 문에서 Items 로 사용함을 확인 하자.  <%%> 의 사용을 최대한 줄이자.

 

한가지 더

jstl_변경전_2(1).jpg

 

하단의 페이지 구문 이다. <%%> d이러한 것을 없에자.

request.setAttrivute 로 값을 셋팅 하고 있다.

jstl_변경후2_1(1).jpg

jstl_변경후2_2(1).jpg

이렇듯 바뀌었다. !!

 

참고로 주석은 되도록 jsp 에서는 <%-- --%> 라고 사용 하자.

 

<c:set var="msg">황-지혜,유-지혜,오-선희</c:set>

<c:forTokens items="${msg}" delims="," var="tk">
    ${tk} <br/>
</c:forTokens>

 

 

추가 소스

 

<?xml version="1.0" encoding="UTF-8" ?>
<%@page import="kr.or.ddit.board.vo.BoardBean"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
    <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
    <%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %>
<% request.setCharacterEncoding("UTF-8"); %>   
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>19/core_3.jsp</title>
</head>
<body>
<c:set var="board" value="<%=new kr.or.ddit.board.vo.BoardBean()%>"></c:set>
<c:set target="${board}" property="bo_title" value="수요일에는 빨간 장미를 .. " />

1.${board.bo_title}<br>
<c:remove var="board" />추가.jpg
2.${board.bo_title}<br>
</hr>
<c:set var="msg">황-지혜,유-지혜,오-선희</c:set>

<c:forTokens items="${msg}" delims="," var="tk">
    ${tk} <br/>
</c:forTokens>
<hr/>

<!-- 아래 데이터를 데이터베이스에서 가져왔다고 가정 하자.  -->
<c:set var="hee">
    <b>오선희</b>그녀는 누구인가.. 근데.. ? ,
    <font color="red">유지혜</font>,유씨엄마
</c:set>
${hee}
<hr/>
<c:out value="${hee}" default="기본값" escapeXml="true"/>
<hr/>

-- excapeXml="false" 옵션시 
<c:catch var="ex">
    <%
        String a =request.getParameter("dragon");
        out.println(a.toUpperCase());
    %>
</c:catch>
<c:if test="${not empty ex}">
아 에러 났네 . .. ${ex.message}<br/>
</c:if>

<!--

<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %>
 -->
<c:set var="msg2">Hwang,황엄마, you 유지혜 </c:set>
기억자 :  ${fn:length(msg2) }</br>
대문자 : ${fn:toUpperCase(msg2)}<br/>
일행문자 : ${fn:substring(msg2,0,6) }
지혜로끈나니?  : ${fn:endsWith(msg2,"지혜") }<br/>
<c:set var="arr2" value="${fn:split(msg2,',') }"/>
<c:forEach items="${arr2 }" varStatus="st">
    ${st.count}, ${st.current} <br/>
</c:forEach>

</body>
</html>

 

 

이 글은 스프링노트에서 작성되었습니다.

'JSP' 카테고리의 다른 글

Login&Logout 기본패턴  (0) 2012.05.08
log4j  (0) 2012.05.08
JSTL  (0) 2012.05.08
JSP 에러코드 모음  (0) 2012.05.08
include  (0) 2012.05.08
Posted by 사라링
BLOG main image
.. by 사라링

카테고리

사라링님의 노트 (301)
JSP (31)
J-Query (41)
JAVA (24)
VM-WARE (0)
디자인패턴 (1)
스크랩 (0)
스트러츠 (3)
안드로이드 (11)
오라클 (45)
우분투-오라클 (1)
이클립스메뉴얼 (6)
스프링3.0 (23)
자바스크립트 (10)
HTML5.0 (17)
정보처리기사 (1)
기타(컴퓨터 관련) (1)
문제점 해결 (3)
프로젝트 (2)
AJAX (4)
하이버네이트 (3)
트러스트폼 (11)
Jeus (2)
재무관리(회계) (5)
정규식 (5)
아이바티스 (8)
취미 (2)
소프트웨어 보안 관련모음 (0)
정보보안기사 (6)
C언어 베이직 및 프로그램 (3)
보안 관련 용어 정리 (2)
넥사크로 (6)
Total :
Today : Yesterday :