JSP directives ๋ container์ ๋ฐฉํฅ์ด๋ ๋ช ๋ น์ ์ ๊ณตํฉ๋๋ค. ํน์ ๋ถ๋ถ์ ๋ํด์ ์ด๋ป๊ฒ ์ฒ๋ฆฌ๋ฅผ ํด์ผ ํ๋ค๋ ๊ฒ์ ๋ง์ด์ฃ
JSP directive๋ servlet class ์ ๋ฐ์ ๊ฑธ์ณ์ ์ํฅ์ ๋ฏธ์นฉ๋๋ค.
๋ฌธ๋ฒ์ ์๋์ ๊ฐ์ต๋๋ค.
<%@ directive attribute="value" %>
Directives ๋ ์ฌ๋ฌ๊ฐ์ ์์ฑ์ ๊ฐ์ง ์ ์์ต๋๋ค. ์์ฑ๊ณผ ์์ฑ ์ฌ์ด๋ ์ผํ๋ก ๊ตฌ๋ถ์ ํ๊ณ key-value ํ์ด๋ก ๊ฐ์ ์ง์ ํ ์ ์์ต๋๋ค.
@ ์ directive๋ช ์ฌ์ด์ ๋น์นธ ๊ทธ๋ฆฌ๊ณ ๋ง์ง๋ง ์์ฑ๊ณผ %> ์ฌ์ด์ ๋น์นธ์ ์ต์ ์ ๋๋ค. ์์ด๋ ๋๊ณ ์์ด๋ ๋๋ค๋ ๊ฑฐ์ฃ .
๋๋ ํฐ๋ธ ํ๊ทธ๋ ์ด ์ธ๊ฐ์ง ์ข ๋ฅ๊ฐ ์์ต๋๋ค.
Directive | Description |
---|---|
<%@ page ... %> | ํ์ด์ง ์ข
์์ ์ธ ์์ฑ๋ค์ ์ ์ํฉ๋๋ค. scripting language, error page, and buffering requirements ๊ฐ์ ๊ฒ๋ค์ ๋งํฉ๋๋ค. |
<%@ include ... %> | ๋ก๋๋ ๋ ๋์ ์ผ๋ก ํ์ผ์ includeํฉ๋๋ค. |
<%@ taglib ... %> | ํ์ด์ง์์ ์ฌ์ฉ๋ ์ฌ์ฉ์์ ์ ์ก์
์ ํฌํจํ๋ ํ๊ทธ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ ์ธํฉ๋๋ค. |
The page Directive
page directive ๋ ํ์ฌ JSP ํ์ด์ง์ ๊ด๋ จ๋ ๋ช ๋ น์ด๋ค์ ์ปจํ ์ด๋์ ์ ๊ณตํฉ๋๋ค. ๋ํ ํ์ด์ง ๋๋ ํฐ๋ธ๋ JSPํ์ด์ง ์๋ฌด๋ฐ๋ ๋ฃ์ด๋ ๊ด๊ณ๊ฐ ์์ต๋๋ค. ํ์ง๋ง ์ผ๋ฐ์ ์ผ๋ก JSPํ์ด์ง์ ๊ฐ์ฅ ์์ชฝ์ ์ ์ํฉ๋๋ค.
๊ธฐ๋ณธ๋ฌธ๋ฒ์ ์๋์ ๊ฐ์ต๋๋ค.
<%@ page attribute="value" %>
XMLํ์์ ์๋์ ๊ฐ์ต๋๋ค.
<jsp:directive.page attribute="value" />
Attributes ( ์์ฑ )
ํ์ด์ง ๋๋ ํฐ๋ธ์ ๊ด๋ จ๋ ์์ฑ๊ณผ ๋ชฉ์ ์ ์๋์ ๊ฐ์ต๋๋ค.
Attribute | Purpose |
---|---|
buffer | Specifies a buffering model for the output stream. |
autoFlush | Controls the behavior of the servlet output buffer. |
contentType | Defines the character encoding scheme. |
errorPage | Defines the URL of another JSP that reports on Java unchecked runtime exceptions. |
isErrorPage | Indicates if this JSP page is a URL specified by another JSP page's errorPage attribute. |
extends | Specifies a superclass that the generated servlet must extend |
import | Specifies a list of packages or classes for use in the JSP as the Java import statement does for Java classes. |
info | Defines a string that can be accessed with the servlet's getServletInfo() method. |
isThreadSafe | Defines the threading model for the generated servlet. |
language | Defines the programming language used in the JSP page. |
session | Specifies whether or not the JSP page participates in HTTP sessions |
isELIgnored | Specifies whether or not EL expression within the JSP page will be ignored. |
isScriptingEnabled | Determines if scripting elements are allowed for use. |
์์ฑ์ ๋ํ ์์ธํ ๋ด์ฉ์ ์ด๊ณณ์์ ํ์ธํ์ค ์ ์์ต๋๋ค.
The include Directive:
include directive๋ ํ์ด์ง๊ฐ ๋ก๋๋ ๋ ๋์ ์ผ๋ก ๋ค๋ฅธ ํ์ผ์ include์ํค๊ธฐ ์ํด์ ์ฌ์ฉ๋ฉ๋๋ค. ์ฝ๊ฒ๋งํ๋ฉด ๋ค๋ฅธ ํ์ด์ง์ ๋ฐ๋ก ๊ธฐ๋ฅ์ ๊ตฌํํด๋๊ณ ์ด๊ฒ์ ํ์๋ก ํ๋ JSPํ์ด์ง์์ includeํ์ฌ ํด๋น ๊ธฐ๋ฅ์ ์ฌ์ฉํ๊ธฐ ์ํด์ ์๋๊ฒ๋๋ค.
์ญ์ ์์น๋ JSPํ์ด์ง ๋ด ์๋ฌด๊ณณ์๋ ๊ฐ์ ธ๋ค ๋์ผ์๋ฉด ๋ฉ๋๋ค.
๋ฌธ๋ฒ์ ์๋์ ๊ฐ์ต๋๋ค.
<%@ include file="relative url" >
file์์ฑ์ value๋ก ๋ค์ด๊ฐ๋ ๊ฐ์ ํ์ผ์ ์๋๊ฒฝ๋ก๋ผ๋ ์ ์ ์ฃผ์ํ์๋ฉด ๋ฉ๋๋ค.
XMLํ์์ ์๋์ ๊ฐ์ต๋๋ค.
<jsp:directive.include file="relative url" />
Example:
์์ ๋ฅผ ํ๋ฒ ๋ณผ๊น์? ROOT ๋๋ ํ ๋ฆฌ์ ์๋์ฒ๋ผ header, footer, main JSPํ์ผ์ ๋ง๋ค์ด ๋ด
์๋ค.
header.jsp
<%! int pageCount = 0; void addCount() { pageCount++; } %> <% addCount(); %> <html> <head> <title>The include Directive Example</title> </head> <body> <center> <h2>The include Directive Example</h2> <p>This site has been visited <%= pageCount %> times.</p> </center> <br/><br/>
footer.jsp
<br/><br/> <center> <p>Copyright ยฉ 2010</p> </center> </body> </html>
main.jsp
<%@ include file="header.jsp" %> <center> <p>Thanks for visiting my page.</p> </center> <%@ include file="footer.jsp" %>
๊ทธ๋ฆฌ๊ณ main.jsp๋ฅผ ์น๋ธ๋ผ์ฐ์ ์์ ์์ฒญ์ ํฉ๋๋ค. ๊ทธ๋ฌ๋ฉด ์๋์ ๊ฐ์ ๊ฒฐ๊ณผ๊ฐ ๋์ฌ๊ฒ์ ๋๋ค. main.jsp์์๋ include๋ก ๋ค๋ฅธ jspํ์ผ๋ง ์ถ๊ฐ๋ฅผ ํ์ ๋ฟ์ธ๋ฐ ๋์ ๋ณด์ด๋๊ฒ ๋ง์ฃ ? include๋ jspํ์ผ๋ค์์ ๋ฟ๋ฆฌ๋ ๊ฒฐ๊ณผ๊ฐ main์ ๋ชจ๋ ํฉ์ณ์ ธ์ ๋์ค๊ฒ ๋๋ ๊ฒ์ ๋๋ค.
The include Directive ExampleThis site has been visited 1 times. Thanks for visiting my page. Copyright ยฉ 2010 |
์๋ก๊ณ ์นจํ ๋๋ง๋ค ๋ฐฉ๋ฌธ ์นด์ดํธ๊ฐ ์ฆ๊ฐํ๋๊ฒ ๋ณด์ด์๋์?? ^___^
The taglib Directive:
ํ๊ทธ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ ์ฌ์ฉ์ ์ ์ ํ๊ทธ์ ๋๋ค.
taglib directive๋ JSPํ์ด์ง์์ ์ฌ์ฉ์ ์ ์ ํ๊ทธ๋ฅผ ์ฌ์ฉํ๊ฒ ๋ค๊ณ ์ ์ํ๊ธฐ ์ํด ์ฌ์ฉํฉ๋๋ค.
๋ฌธ๋ฒ์ ์๋์ ๊ฐ์ต๋๋ค.
<%@ taglib uri="uri" prefix="prefixOfTag" >
XMLํ์์ ์๋์ ๊ฐ์ต๋๋ค.
<jsp:directive.taglib uri="uri" prefix="prefixOfTag" />
Example:
์์ ๋ฅผ ํ๋ฒ ๋ด ์๋ค.
custlib tag library ๊ฐ hello ํ๊ทธ๋ฅผ ๊ฐ์ง๊ณ ์๋ค๊ณ ํฉ์๋ค. hello tag ๋ฅผ mytagโ๋ผ๋ prefix์ ํจ๊ป ์ฌ์ฉํ๊ณ ์ถ์ ๋( <mytag:hello> ) ๋ ์๋์ฒ๋ผ ์ฌ์ฉํ ์ ์์ต๋๋ค.
<%@ taglib uri="http://www.example.com/custlib" prefix="mytag" %> <html> <body> <mytag:hello/> </body> </html>
<mytag:hello> ๋ฅผ ํธ์ถํจ์ผ๋ก์จ hello ํ๊ทธ์ ๋ฏธ๋ฆฌ ์ ์๋์ด์๋ ์ฝ๋๋ฅผ ์จ๋จน์ ์ ์๋๊ฑฐ์ฃ .
๊ทธ๋ผ hello ํ๊ทธ๊ฐ ์ด๋ป๊ฒ ์ ์๋์ด์๋์ง ํ๋ฒ ๋ณผ๊น์?
์ง๊ธ ๋ง๊ณ ๋ค์ ํฌ์คํ ์์ ๋ณด๋๋ก ํ์ฃ . ์๊ฐ๋ณด๋ค ๋ด์ฉ์ด ๋ง๊ฑฐ๋ ์ ใ ใ ์ฐธ๊ณ ๋ก ์ฌ๊ธฐ์ ์ฌ์ฉ๋ hello ํ๊ทธ๋ฅผ ์ปค์คํ ํ๊ทธ๋ผ๊ณ ํฉ๋๋ค.
๊ทธ๋ผ ์ข์ ํ๋ฃจ ๋์ธ์ ^___^
Reference : http://www.tutorialspoint.com/jsp/jsp_directives.htm
'๐ป Programming > JSP' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[JSP] Actions ( ์ก์ ) (0) | 2019.02.15 |
---|---|
[JSP] Custom Tags ( ์ปค์คํ , ์ฌ์ฉ์ ์ ์ ํ๊ทธ ) (0) | 2019.02.15 |
[JSP] JSP ์๋ช ์ฃผ๊ธฐ ( life cycle ) (0) | 2019.02.15 |
[JSP] ์กฐ๊ฑด๋ฌธ, ๋ฐ๋ณต๋ฌธ (0) | 2019.02.15 |
[JSP] JSP ์์ํ๊ธฐ (0) | 2019.02.15 |