Whiteship's Note


태그 파일 배포하기

View/JSP : 2008.09.14 23:12


참조 :
http://docs.sun.com/app/docs/doc/819-3669/bnalj?l=ko&a=view

1. 작성한 태그 파일을 JAR로 묶기

- META-INF/tags 밑에 또는 그 하위 폴더에 태그 파일을 옮기고 묶는다.

2. TLD 파일을 작성하기

- WEB-INF/tag 밑에 두었으면 tld 파일 자동으로 만들어 주지만, 별도의 jar로 배포할 때는 반드시 TLD 파일을 작성해야 함. 태그 파일들의 위치를 알아야할테니..
- tld 파일은 META-INF/ 폴더 또는 그 하위 폴더에 둔다. 태그들이랑 같은 폴더에 둬도 상관없음.

3. JSP에서 참조하기

- <%@ taglib prefix="o" uri="www.opensprout.org" %>
- 여기서 uri는 진짜 URI를 말하는게 아니라, 그냥 이름. TLD 파일에 정의한 uri와 같은 값.
- JSP 2.0 이전에는 DD에 직접 TLD 위치를 설정해줬지만, JSP 2.0부터 WEB-INF/lib에 들어있는 JAR들의 META-INF/ 폴더 밑 그 하위 폴더를 뒤져서 TLD 파일을 찾아냄.

Whiteship's 사족

흠.. 글쿠나.. WEB-INF/tags 밑에 태그 두고 사용하면, 자동으로 TLD 파일을 컨테이너가 만들어 준댔는데.. 그럼 그 파일을 복사해서 좀만 수정해서 TLD를 만들면 편하겠네. 그렇게 자동으로 만들어진 TLD 파일은 어디에 만들어질려나.. WEB-INF/ 폴더 일려나.. 흠... 구하고 싶다. xml 파일 만들기 귀찮은데; TLD 생성기 같은거 없나.

top

TAG JSP, TagFile

Write a comment.


9. Tag만들기



CustomTag를 공부 하다가 느낀 점은.. 'servlet으로 html 코드 뿌리는 것 같다.', '복잡하네..언제는 뭐 상속 받고 언제는 뭐 상속 받고...어떤거 구현해줘야 하고 뭐를 리턴 해줘야 하고,,,,'

그런데 TagFile을 사용하면 매우 단순하게 태그를 만들 수 있었습니다.

1. Tag로 만들 부분 물색.
2. Tag를 만들었다는 가정하에 Tag를 사용해서 변경.
3. Tag 파일 작성.
4. 확인.

2번 다음에 확인하고 5. 수정하고 싶은 부분 수정하고 다시 확인 요거만 추가 하면 TDD랑 많이 닮은 것 같네요.

1. Tag로 만들 부분 물색.
사용자 삽입 이미지
2. 먼저 위에 있는 빨간색 부분을 다음과 같이 Tag가 있다고 생각하고 바꿔줍니다.
사용자 삽입 이미지
3. 그리고 WEB-INF/tags/os 안에 새로운 태그를 정의해 줍니다. page라는 태그명을 사용했기 때문에 page.tag라는 파일을 작성합니다.
<%@ attribute name="title" required="true" %>
<html>
    <head>
        <title>${title}</title>
        <link rel="stylesheet" type="text/css" href="/css/style.css" />
    </head>
    <body>
        <jsp:doBody />
    </body>
</html>

JSP 페이지 지시자를 사용해서 태그의 속성을 나타내고 EL태그로 원하는 위치에 사용하면 됩니다. 몸체가 있는 태그라면 하늘색 부분 처럼 몸체가 들어갈 부분에 <jsp:doBody /> 태그를 사용해 주면 됩니다. 이밖에도.. JSTL의 <c:set /> <c:if /> 이런 태그들을 이용해서 속성값에 기본 값을 setting하고 조건에 따라 값을 바꿀 수 있습니다.

4. 확인하기.
사용자 삽입 이미지
이런 에러가 납니다. title이 필수 속성이라고 했는데 왜 안넣어줬느냐!! 라는 것인데.. 전 넣는다고 넣어는데?? 라고 생각하고 소스를 다시 보니.. titile 라고 오타를 쳤네요. ㅠ.ㅠ

사용자 삽입 이미지
OK! 수정하고 새로고침을 해보니깐 제대로 나왔습니다.

'Hibernate > 주소록 만들기' 카테고리의 다른 글

9. Tag만들기  (0) 2007.02.12
8.4. 기능 구현  (0) 2007.01.25
8.3. Criteria 공부하기  (0) 2007.01.25
8.2. HQL 공부하기  (0) 2007.01.24
8.2.4. HQL 공부하기 - inner join  (0) 2007.01.24
8.2.3. HQL 공부하기 - order by절  (0) 2007.01.24
8.2.2. HQL 공부하기 - where절  (0) 2007.01.24
8.2.1. HQL 공부하기 - select절  (0) 2007.01.24
8.1. DbUnit 사용하기  (0) 2007.01.24
8. DAO 기능 구현하기  (4) 2007.01.23
7.3. 새로운 타입으로 맵핑하기.  (0) 2007.01.22
top

Write a comment.