본문 바로가기

Front End

커스텀태그(JSTL)

** Java Project 에서 외부 라이브러리 파일을 사용하는 방법

1. 일반 Java Application의 경우

= 사용하고자 하는 jar 파일을 선택하고 build path에 추가해주면 됩니다.

= 프로젝트를 선택하고 마우스 오른쪽을 눌러서 configure build path 메뉴에서 하면 됩니다.


2. Java Web Application의 경우

= WebContent/WEB-INF/lib 디렉토리에 복사해주면 됩니다.


3. Maven 이나 Gradle의 경우는 설정 파일에 사용할 라이브러리의 이름을 설정하면 됩니다.

= 안드로이드가 gradle 방식.



**JSTL

= jsp 파일에서 자주 사용하는 java 기능을 태그로 만들어서 사용하는 것

= apache 재단에서 만들어서 배포

= jstl.jar 파일을 프로젝트에 포함시켜야만 사용 가능


1. Core Library

= 자바의 변수 선언이나 제어문을 사용하기 위한 라이브러리

= 접두어는 일반적으로 c를 사용합니다.

= 태그 라이브러리 URL : http://java.sun.com/jsp/jstl/core

= 사용하기 위한 설정

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

= c: 으로 시작하는 태그는 브라우저가 해석하지 말고 http://java.sun.com/jsp/jstl/core 에서 해석하라는 의미가 담겨있다.

= 웹 주소 형태로 되어 있지만 실제로는 jar 파일에서 해석합니다.


1) set

= 변수를 선언할 때 사용하는 태그

= 속성은 var, value, scope 가 있습니다.

= var는 변수명을 설정

= value는 초기값

= scope는 유효 범위로 page, request, session, application이 있습니다.


2) remove

= set으로 만든 변수를 삭제하기 위한 태그

= var 와 scope 속성이 있습니다.


3) if

= 조건에 맞는 경우에만 작업을 수행하기 위한 태그

= else 와 else if가 없습니다.

= 형식

<c:if test="${조건}">

조건에 맞는 경우 수행할 내용

</c:if>


4) c:choose

= 여러 개의 조건을 나열하고 조건에 맞는 경우에만 내용을 수행하도록 해주는 태그

= 형식

<c:choose>

<c:when test="${조건}">

조건이 true 일 때 수행할 내용

</c:when>

<c:when test="${조건1}">

위의 조건에 해당하지 않고 조건1이 true 일 때 수행할 내용

</c:when>

...<c:when> 여러개 가능


<c:otherwise>

모든 조건이 false 일 때 수행할 내용

</c:otherwise>

</c:choose>


실습


2. Format Library

= 날짜나 숫자 출력 서식 설정, 지역 설정, 다국어 지원등의 기능을 수행해주는 태그 라이브러리

= 사용하기 위한 설정

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


1) <tmt:formatNumber>

= 숫자를 출력 서식 지정을 위한 태그


2) <fmt:formatDate>

= 날짜 출력 서식 지정을 위한 태그


= formatNumber의 patternjava.text.NumberFormat 클래스 참조

= formatDate의 parrernjava.text.SimpleDateFormat 클래스 참조


3) <fmt:setLocale>

= 지역 설정을 위한 태그

= 날짜나 숫자 서식이 지역설정에 따라 출력됩니다.





** JSTL 을 사용하고자 하는 경우에는 먼저 jstl.jar 파일을 프로젝트의 build path에 추가해주어야 합니다.

- 웹프로젝트는 WEB-INF/lib 디렉토리에 복사해주면 됩니다.



** JSTL의 다국어 설정

<fmt:setBundle><fmt:message> 태그 이용

- 다국어로 사용할 문자열을 동일한 대표이름_언어코드.properties 파일을 만들어서 key=값의 형태로 작성해서 WEB-INF/classes 디렉토리에 저장합니다.

- 다국어를 사용할 jsp 페이지에서 fmt:setBundle 태그의 basename 속성대표이름을 설정합니다.

- 사용할 다국어 메시지를 출력할 때는 fmt:message key=key이름 태그를 이용해서 출력합니다.


실습 - 언어 설정에 따라 title이 다르게 보이는 예제



** Custom Action 태그

자주 사용하는 태그나 jsp 파일의 내용을 별도의 파일로 만들어 두고 태그 형식으로 호출하는 기능

작업방법

1. 별도의 디렉토리 생성


2. 디렉토리에 ?.tag라는 파일을 만들어서 자주 사용하는 코드를 작성


3. 가져다 사용하고자 하는 파일에서는

<%@ taglib tagdir="태그 파일의 데렉토리 경로" prefix="태그의 접두어를 설정"/>


<접두어:파일명/>을 입력하면 ?.tag의 내용이 삽입됩니다.


실습

1. WEB-INF 디렉토리에 tags(내 맘데로 정해도 됨)디렉토리 생성



'Front End' 카테고리의 다른 글

java web log파일 만들기  (0) 2018.09.01
서블릿  (0) 2018.08.31
el  (0) 2018.08.29
javabean & error  (0) 2018.08.29
쿠키와 세션  (0) 2018.08.28