내용 목차
본 장에서는 HTP 패키지의 기본 개념과 패키지 내의 프러시저와 함수를 사용하는 방법을 설명한다.
HTP은 HTML 소스 코드를 생성하는 패키지이다. 프러시저를 사용하여 HTML 태그를 작성하고, 합쳐진 소스 코드를 내보내는 역할을 한다. 예를 들어 HTP.HTMLOPEN은 <HTML> 태그를, HTP.HTMLCLOSE는 </HTML> 태그를 생성한다.
Tibero 5.0부터는 mod_tbpsm라는 Apache 모듈을 구현하여 배포한다. Apache HTTP 서버로부터 온 요청에 따라 mod_tbpsm을 이용하여 HTP 패키지로 구현된 프러시저를 호출하고 생성된 HTML 페이지를 내보낸다.
mod_tbpsm 설정 및 사용 방법은 "Tibero 애플리케이션 개발자 안내서"를 참고한다.
본 절에서는 HTP 패키지에서 제공하는 프러시저와 함수를 알파벳 순으로 설명한다.
</BODY> 태그를 작성하는 프러시저이다. </BODY> 태그는 HTML 문서 중 본 내용의 끝을 의미한다.
BODYCLOSE 프러시저의 세부 내용은 다음과 같다.
프로토타입
HTP.BODYCLOSE
예제
BEGIN HTP.BODYCLOSE; END;
다음은 생성된 HTML 코드이다.
</BODY>
<BODY> 태그를 작성하는 프러시저이다. <BODY> 태그는 HTML 문서 중 본 내용의 시작을 의미하고, 속성을 지정하여 배경 등을 변경할 수 있다.
프로토타입
HTP.BODYOPEN ( background IN VARCHAR2 DEFAULT NULL, attributes IN VARCHAR2 DEFAULT NULL )
파라미터
파라미터 | 설명 |
---|---|
background | <BODY> 태그의 background 속성값이다. HTML문서의 배경 그림 파일 경로를 지정한다. |
attributes | <BODY> 태그의 기타 속성 및 속성값들의 문자열이다. |
예제
BEGIN
HTP.BODYOPEN('/img/tibero.jpg');
END;
다음은 생성된 HTML 코드이다.
<BODY background="/img/tibero.jpg">
HTML 페이지의 새로운 라인을 가리키는 <BR> 태그를 작성하는 프러시저이다.
프로토타입
HTP.BR ( clear IN VARCHAR2 DEFAULT NULL, attributes IN VARCHAR2 DEFAULT NULL )
파라미터
파라미터 | 설명 |
---|---|
clear | CLEAR 속성의 값이다. |
attributes | 기타 속성 및 값들의 문자열이다. |
예제
BEGIN HTP.BR; END;
다음은 생성된 HTML 코드이다.
<BR>
<CENTER> 태그, 중앙에 배치될 문자열, </CENTER> 태그를 작성하는 프러시저이다.
프로토타입
HTP.CENTER ( text IN VARCHAR2 )
파라미터
파라미터 | 설명 |
---|---|
text | 웹 페이지의 중앙에 배치될 문자열이다. |
예제
BEGIN
HTP.CENTER('Tibero');
END;
다음은 생성된 HTML 코드이다.
<CENTER>Tibero</CENTER>
</CENTER> 태그를 작성하는 프러시저이다.
CENTERCLOSE 프러시저의 세부 내용은 다음과 같다.
프로토타입
HTP.CENTERCLOSE
예제
BEGIN HTP.CENTERCLOSE; END;
다음은 생성된 HTML 코드이다.
</CENTER>
<CENTER> 태그를 작성하는 프러시저이다.
CENTEROPEN 프러시저의 세부 내용은 다음과 같다.
프로토타입
HTP.CENTEROPEN
예제
BEGIN
HTP.CENTEROPEN;
HTP.IMG(url => '/img/tibero.gif');
HTP.CENTERCLOSE;
END;
다음은 생성된 HTML 코드이다.
<CENTER>
<IMG src="/img/tibero.glf">
</CENTER>
</FONT> 태그를 작성하는 프러시저이다. <FONT> 태그에서 부여된 속성들은 이 태그 앞까지만 적용된다.
FONTCLOSE 프러시저의 세부 내용은 다음과 같다.
프로토타입
HTP.FONTCLOSE
예제
BEGIN HTP.FONTCLOSE; END;
다음은 생성된 HTML 코드이다.
</FONT>
<FONT> 태그를 작성하는 프러시저이다. 이후 작성되는 문자열들의 폰트 설정에 반영된다.
프로토타입
HTP.FONTOPEN ( color IN VARCHAR2 DEFAULT NULL, face IN VARCHAR2 DEFAULT NULL, size IN VARCHAR2 DEFAULT NULL, attributes IN VARCHAR2 DEFAULT NULL )
파라미터
파라미터 | 설명 |
---|---|
color | COLOR 속성의 값이다. |
face | FACE 속성의 값이다. |
size | SIZE 속성의 값이다. |
attributes | 기타 속성 및 속성값들의 문자열이다. |
예제
BEGIN HTP.FONTOPEN(NULL, 'Fixedsys', 3); END;
다음은 생성된 HTML 코드이다.
<FONT face="Fixedsys" size="3">
</SELECT> 태그를 작성하는 프러시저이다.
FORMSELECTCLOSE 프러시저의 세부 내용은 다음과 같다.
프로토타입
HTP.FORMSELECTCLOSE
예제
“50.3.10. FORMSELECTOPEN” 예제를 참조한다.
<SELECT> 태그를 작성하는 프러시저이다.
FORMSELECTOPEN 프러시저의 세부 내용은 다음과 같다.
프로토타입
HTP.FORMSELECTOPEN ( cname IN VARCHAR2, cprompt IN VARCHAR2 DEFAULT NULL, nsize IN VARCHAR2 DEFAULT NULL, cattributes IN VARCHAR2 DEFAULT NULL )
파라미터
파라미터 | 설명 |
---|---|
cprompt | 선택 리스트 앞에 올 문장이다. |
cname | NAME 속성의 값이다. |
nsize | SIZE 속성의 값이다. |
cattributes | 기타 속성 및 속성값들의 문자열이다. |
예제
BEGIN HTP.FORMSELECTOPEN('favorite_fruit', '좋아하는 과일은?'); HTP.FORMSELECTOPTION('사과'); HTP.FORMSELECTOPTION('포도'); HTP.FORMSELECTOPTION('귤'); HTP.FORMSELECTOPTION('자두'); HTP.FORMSELECTCLOSE; END;
다음은 생성된 HTML 코드이다.
좋아하는 과일은?: <SELECT NAME="favorite_fruit"> <OPTION>사과 <OPTION>포도 <OPTION>귤 <OPTION>자두 </SELECT>
<OPTION> 태그를 작성하는 프러시저이다.
FORMSELECTOPTION 프러시저의 세부 내용은 다음과 같다.
프로토타입
HTP.FORMSELECTOPTION ( cvalue IN VARCHAR2, cselected IN VARCHAR2 DEFAULT NULL, cattributes IN VARCHAR2 DEFAULT NULL )
파라미터
파라미터 | 설명 |
---|---|
cvalue | 선택할 문자열이다. |
cselected | SELECTED 속성의 값이다. |
cattributes | 기타 속성 및 속성값들의 문자열이다. |
예제
“50.3.10. FORMSELECTOPEN” 예제를 참조한다.
태그를 작성하는 프러시저가 아니라, 생성된 웹 페이지를 읽어온다.
프로토타입
HTP.GET_PAGE ( page OUT NOCOPY CLOB )
파라미터
파라미터 | 설명 |
---|---|
page | 생성된 웹 페이지를 읽어올 값이다. |
예제
DECLARE page CLOB; BEGIN HTP.HTMLOPEN; HTP.HTMLCLOSE; htp.get_page(page); dbms_output.put_line(page); END;
</HEAD> 태그를 작성하는 프러시저이다. </HEAD> 태그는 HTML 문서 중 머릿말의 끝을 의미한다.
HEADCLOSE 프러시저의 세부 내용은 다음과 같다.
프로토타입
HTP.HEADCLOSE
예제
BEGIN HTP.HEADCLOSE; END;
다음은 생성된 HTML 코드이다.
</HEAD>
헤더 시작 태그(<H1> ~ <H6>), 헤더 문자열 및 헤더 끝 태그(</H1> ~ </H6>)를 작성하는 프러시저이다.
프로토타입
HTP.HEADER ( level IN PLS_INTEGER, name IN VARCHAR2, align IN VARCHAR2 DEFAULT NULL, nowrap IN VARCHAR2 DEFAULT NULL, clear IN VARCHAR2 DEFAULT NULL, attributes IN VARCHAR2 DEFAULT NULL )
파라미터
파라미터 | 설명 |
---|---|
level | 헤더의 레벨이다. 값은 1~6의 범위를 지정할 수 있다. |
name | 헤더에 표시되는 문자열이다. |
align | ALIGN 속성의 값이다. |
nowrap | NOWRAP 속성의 값이다. |
clear | CLEAR 속성의 값이다. |
attributes | 기타 속성 및 값들의 문자열이다. |
예제
BEGIN
HTP.HEADER(1, 'Tibero');
END;
다음은 생성된 HTML 코드이다.
<H1>Tibero</H1>
<HEAD> 태그를 작성하는 프러시저이다. <HEAD> 태그는 HTML 문서 중 머릿말의 시작을 의미한다.
프로토타입
HTP.HEADOPEN
예제
BEGIN HTP.HEADOPEN; END;
다음은 생성된 HTML 코드이다.
<HEAD>
HTML 페이지에 가로줄을 그리는 <HR> 태그를 작성하는 프러시저이다.
프로토타입
HTP.HR ( clear IN VARCHAR2 DEFAULT NULL, src IN VARCHAR2 DEFAULT NULL, attributes IN VARCHAR2 DEFAULT NULL )
파라미터
파라미터 | 설명 |
---|---|
clear | CLEAR 속성의 값이다. |
src | 가로줄의 바탕 그림 파일을 지정하는 SRC 속성의 값이다. |
attributes | 기타 속성 및 값들의 문자열이다. |
예제
BEGIN
HTP.HR(src => '"/img/tibero.jpg"',
attributes => 'size="10" noshade style="color:gray;"');
END;
다음은 생성된 HTML 코드이다.
<HR src="/img/tibero.jpg" size="10" noshade style="color:gray;">
</HTML> 태그를 작성하는 프러시저이다. </HTML> 태그는 HTML 문서의 끝을 의미한다.
HTMLCLOSE 프러시저의 세부 내용은 다음과 같다.
프로토타입
HTP.HTMLCLOSE
예제
BEGIN HTP.HTMLCLOSE; END;
다음은 생성된 HTML 코드이다.
</HTML>
<HTML> 태그를 작성하는 프러시저이다. <HTML> 태그는 HTML 문서의 시작을 의미한다.
프로토타입
HTP.HTMLOPEN
예제
BEGIN HTP.HTMLOPEN; END;
다음은 생성된 HTML 코드이다.
<HTML>
HTML 페이지에 그림을 삽입하는 <IMG> 태그를 작성하는 프러시저이다.
프로토타입
HTP.IMG ( url IN VARCHAR2, align IN VARCHAR2 DEFAULT NULL, alt IN VARCHAR2 DEFAULT NULL, ismap IN VARCHAR2 DEFAULT NULL, attributes IN VARCHAR2 DEFAULT NULL )
파라미터
파라미터 | 설명 |
---|---|
url | 그림 파일을 지정하는 SRC 속성의 값이다. |
align | ALIGN 속성의 값이다. |
alt | 웹 브라우저가 그림을 지원하지 않을 경우 대체할 문자열을 지정하는 ALT 속성의 값이다. |
ismap | NULL이 아닐 경우 이미지맵임을 가리키는 ISMAP 속성이 부여된다. |
attributes | 기타 속성 및 값들의 문자열이다. |
예제
BEGIN
HTP.IMG(url => '"/img/tibero.gif"',
attributes => 'WIDTH="200" HEIGHT="200" BORDER="1"');
END;
다음은 생성된 HTML 코드이다.
<IMG src="/img/tibero.gif" WIDTH="200" HEIGHT="200" BORDER="1">
HTML 페이지에 그림을 삽입하는 <IMG> 태그를 작성하는 프러시저이다. IMG 프러시저에서 usemap 파라미터만 추가된 프러시저이다.
프로토타입
HTP.IMG2 ( url IN VARCHAR2, align IN VARCHAR2 DEFAULT NULL, alt IN VARCHAR2 DEFAULT NULL, ismap IN VARCHAR2 DEFAULT NULL, usemap IN VARCHAR2 DEFAULT NULL, attributes IN VARCHAR2 DEFAULT NULL )
파라미터
파라미터 | 설명 |
---|---|
url | 그림 파일을 지정하는 SRC 속성의 값이다. |
align | ALIGN 속성의 값이다. |
alt | 웹 브라우저가 그림을 지원하지 않을 경우 대체할 문자열을 지정하는 ALT 속성의 값이다. |
ismap | NULL이 아닐 경우 이미지맵임을 가리키는 ISMAP 속성이 부여된다. |
usemap | USEMAP 속성의 값이다. |
attributes | 기타 속성 및 값들의 문자열이다. |
예제
BEGIN
HTP.IMG2(url => '"/img/tibero.gif"',
attributes => 'WIDTH="200" HEIGHT="200" BORDER="1"');
END;
다음은 생성된 HTML 코드이다.
<IMG src="/img/tibero.gif" WIDTH="200" HEIGHT="200" BORDER="1">
HTML 페이지에 가로줄을 그리는 <HR> 태그를 작성하는 프러시저이다. HR 프러시저와 똑같은 기능을 제공한다.
프로토타입
HTP.LINE ( clear IN VARCHAR2 DEFAULT NULL, src IN VARCHAR2 DEFAULT NULL, attributes IN VARCHAR2 DEFAULT NULL )
파라미터
파라미터 | 설명 |
---|---|
clear | CLEAR 속성의 값이다. |
src | 가로줄의 바탕 그림 파일을 지정하는 SRC 속성의 값이다. |
attributes | 기타 속성 및 값들의 문자열이다. |
예제
BEGIN
HTP.LINE(src => '"/img/tibero.jpg"',
attributes => 'size="10" noshade style="color:gray;"');
END;
다음은 생성된 HTML 코드이다.
<HR src="/img/tibero.jpg" size="10" noshade style="color:gray;">
작성 진행 중인 HTML 소스 코드 뒤에 입력 문자열 및 \n(새줄 문자)을 작성하는 프러시저이다. HTML 소스 코드상의 새줄의 의미이므로 실제 웹 페이지에서 새 줄을 추가하려면 <br> 태그를 작성해야 한다.
프로토타입
HTP.PRINT ( str IN VARCHAR2 DEFAULT NULL )
파라미터
파라미터 | 설명 |
---|---|
str | HTML 소스 코드에 추가로 생성할 문자열이다. |
예제
BEGIN HTP.PRINT('<html>'); HTP.PRINT('<head>'); HTP.PRINT('</head>'); HTP.PRINT('<body>'); HTP.PRINT('He'); HTP.PRINT('llo'); HTP.PRINT('</body>'); HTP.PRINT('</html>'); END;
다음은 생성된 HTML 코드이다.
<html> <head> </head> <body> He llo </body> </html>
작성 진행 중인 HTML 소스 코드 뒤에 입력 문자열을 작성하는 프러시저이다. PRINT 프러시저와 다르게 \n(새줄 문자)가 붙지 않는다.
프로토타입
HTP.PRN ( str IN VARCHAR2 DEFAULT NULL )
파라미터
파라미터 | 설명 |
---|---|
str | HTML 소스 코드에 추가로 생성할 문자열이다. |
예제
BEGIN HTP.PRN('<html>'); HTP.PRN('<head>'); HTP.PRN('</head>'); HTP.PRN('<body>'); HTP.PRN('He'); HTP.PRN('llo'); -- He 바로 뒤에 붙어 Hello가 된다. (생성되는 HTML 소스 코드상에서) HTP.PRN('</body>'); HTP.PRN('</html>'); END;
다음은 생성된 HTML 코드이다.
<html><head></head><body>Hello</body></html>