DS's『 행복합시다 』

Carpe Programming/jsp & spring & jstl

[jstl] jstl setting

nolite 2012. 1. 27. 16:45

El과 Jstl의 차이점은무엇일까요?


사실 EL(Expression Language는 우리가 사용할수있도록 이미 설정되어졌습니다)


아래 스크린샷을 보면




el-api.jar 라고 이미 추가되어있습니다


이와 관련된 문법들을 확인할려면 API를 봐야되는데


http://download.oracle.com/javaee/6/api/ 여기에 정확히


javax.servlet.jsp.el


이라고 나와있군요


사실 이포스트에서는 EL을 공부할려는건 아니지만


잠깐 어떻게쓰는지보겠습니다


<%@ page language="java" contentType="text/html; charset=EUC-KR"
pageEncoding="EUC-KR" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=EUC-KR">
<title>Insert title here</title>
</head>
<body>

${3+5}

</body>
</html>

이렇게하면 어떻게나올까요?


그냥 ${3+5}라고 나올것같지만


사실 8이라고 3+5의 계산된 결과가나옵니다


이는 이미 EL-API.JAR가 내가사용하고있는 프로젝트의 라이브러리로 이미쓰이고 있기때문입니다


이와는 좀 다르게


JSTL은 Java Standard Tag Library의 약자로서 el에서는 쓸수없는 것들을


조합하여 쓸수있게끔 해주는 커스텀 라이브러리라고 할수있겠습니다



관련 api


http://download.oracle.com/docs/cd/E17802_01/products/products/jsp/jstl/1.1/docs/tlddocs/index.html


위에 사이트로 접속하면



All Tags / Functions

Tag Libraries
JSTL core
JSTL fmt
JSTL sql
JSTL XML
JSTL functions




나누어져있는데


이는 사용방법에 대한설명이고


어떻게 서블릿으로 변경이되는지는


http://download.oracle.com/javaee/6/api/


에나와있고


다음과 같이 나누어집니다



javax.servlet.jsp.jstl.core
javax.servlet.jsp.jstl.fmt
javax.servlet.jsp.jstl.sql
javax.servlet.jsp.jstl.tlv
javax.servlet.jsp.tagext




그리고 스트럿츠2 프레임워크에서 jstl대한 API는


http://struts.apache.org/2.0.9/docs/tag-reference.html


에 상세히 나와있습니다


jstl을 사용하기위해서는 el과는 다르게 선언을 해줘야합니다(커스텀 라이브러리라서)


저는 스트럿츠2 프레임워크안에서 jstl을 지원해주기 때문에


<%@ taglib prefix="s" uri="/struts-tags" %>


위와 같이 선언만해주면 됩니다


이미 관련 jar파일들을 추가해주었기 때문입니다


하지만 저와는 다르게 jstl만을 쓰기위해서 일반 라이브러리 파일을 추가해주기 위해서는



http://jakarta.apache.org/site/downloads/downloads_taglibs-standard.cgi


로 들어가서 많은 분들이 source.zip을 다운받으면된다고하는데(window기준)


사실 우리가 사용할려는것은 source가 묶여져있는 jar이지 source파일들이 아닙니다


그래서 1.1.2.zip


을 클릭하면


페이지가 없다고뜹니다


많은분들이 좌절을하죠 아.. JSTL이 더이상 안쓰이나보구나


하지만



archives...


을 클릭하면


 Parent Directory                                                     -   
 binaries/                                       2005-10-05 20:39    -   
 source/                                         2005-10-05 20:38    -   
 jakarta-taglibs-standard-current-src.tar.gz     2004-10-25 20:58  280K  
 jakarta-taglibs-standard-current-src.tar.gz.asc 2004-10-25 20:58  186   
 jakarta-taglibs-standard-current-src.zip        2004-10-25 20:58  626K  
 jakarta-taglibs-standard-current-src.zip.asc    2004-10-25 20:58  186   
 jakarta-taglibs-standard-current.tar.gz         2004-10-25 20:57  873K  
 jakarta-taglibs-standard-current.tar.gz.asc     2004-10-25 20:57  186   
 jakarta-taglibs-standard-current.zip            2004-10-25 20:57  933K  
 jakarta-taglibs-standard-current.zip.asc        2004-10-25 20:57  186   


이렇게나오는데여기서 바이너리 디렉토리들어가서

다운받으면됩니다

그러고나서

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

선언을 해주면끝~


728x90