JSP actions์ ์ด์ฉํ๋ฉด ๋์ ์ผ๋ก ํ์ผ์ ์ฝ์
ํ๊ฑฐ๋ ์๋ฐ๋น ์ปดํฌ๋ํธ๋ฅผ ์ฌ์ฌ์ฉํ๊ฑฐ๋ ์น๋ธ๋ผ์ฐ์ ๋ฅผ ๋ณด๊ณ ์๋ ์ฌ์ฉ์๋ฅผ ๋ค๋ฅธ ํ์ด์ง๋ก ํฌ์๋ฉ์ํค๊ฑฐ๋ ์๋ฐํ๋ฌ๊ทธ์ธ์ ์ํ HTML์ ์์ฑํ ์๋ ์์ต๋๋ค.
๋ฌธ๋ฒ์ ์๋์ ๊ฐ์ต๋๋ค.
<jsp:action_name attribute="value" />
Action ์์๋ ๊ธฐ๋ณธ์ ์ผ๋ก ๋ฏธ๋ฆฌ ์ ์๋์ด์๋ ๊ธฐ๋ฅ๋ค์
๋๋ค.
Syntax | Purpose |
---|
jsp:include | Includes a file at the time the page is requested |
jsp:useBean | Finds or instantiates a JavaBean |
jsp:setProperty | Sets the property of a JavaBean |
jsp:getProperty | Inserts the property of a JavaBean into the output |
jsp:forward | Forwards the requester to a new page |
jsp:plugin | Generates browser-specific code that makes an OBJECT or EMBED tag for the Java plugin |
jsp:element | Defines XML elements dynamically. |
jsp:attribute | Defines dynamically defined XML element's attribute. |
jsp:body | Defines dynamically defined XML element's body. |
jsp:text | Use to write template text in JSP pages and documents. |
Common Attributes ( ๊ณตํต ์์ฑ )
๋ชจ๋ ์ก์
์์๋ค์ ์ ์ฉ๋๋ ๊ณตํต์์ฑ์ด ๋๊ฐ๊ฐ ์์ต๋๋ค. id ์์ฑ๊ณผ scope ์์ฑ์
๋๋ค.
Id : id ์์ฑ์ ๋ญ ๋๋งํ ํ์๋ ์๋ ์์ฑ์ด์ฃ . Action ์์์ ์ ๋ํฌํ id๋ฅผ ๋งํฉ๋๋ค. ์ฃผ๋ฏผ๋ฒํธ๊ฐ์๊ฑฐ์ฃ . ๊ทธ๋ฆฌ๊ณ JSP page๋ด์์ ์ด id๋ฅผ ์ด์ฉํด์ ๊ฐ์ฒด๋ก ์ ๊ทผ์ด ๊ฐ๋ฅํฉ๋๋ค. Action ์ด๋ค ๊ฐ์ฒด์ ์ธ์คํด์ค๋ฅผ ์์ฑํ์๋ค๋ฉด ๋ฌต์์ ์ผ๋ก ์ ์๋์ด์๋ ๊ฐ์ฒด์ธ PageContext๋ฅผ ํตํด์ ์ก์
id ๊ฐ์ผ๋ก ์์ฑ๋ ๊ฐ์ฒด๋ฅผ ์ฐธ์กฐํ ์ ์์ต๋๋ค.
scope : Action ์์์ ์๋ช
์ฃผ๊ธฐ๋ฅผ ์ง์ ํ๋ ์์ฑ์
๋๋ค. id ์์ฑ๊ณผ scope ์์ฑ์ ์ง์ ์ ์ผ๋ก ์ฐ๊ฒฐ๋์ด ์์ต๋๋ค. ํด๋น id ๋ฅผ ๊ฐ๋ ๊ฐ์ฒด์ ์๋ช
์ฃผ๊ธฐ๋ฅผ ๊ฒฐ์ ํ๋ ์์ฑ์ด๊ธฐ ๋๋ฌธ์ด์ฃ . scope ์์ฑ์ ๋ค์ ๋ค๊ฐ์ง ๊ฐ์ ๊ฐ์ง ์ ์์ต๋๋ค. (a) page, (b)request, (c)session, and (d) application.
The <jsp:include> Action
ํ์ด์ง์ ํ์ผ์ ์ถ๊ฐํ๋ ์ก์
์ด์ฃ .
๋ฌธ๋ฒ์ ์๋์ ๊ฐ์ต๋๋ค.
<jsp:include page="relative URL" flush="true" />
include directive์๋ ๋ค๋ฅด๊ฒ ํ์ด์ง๊ฐ ์์ฒญ์ด ๋ ๋ ํ์ผ์ ์ฝ์
ํฉ๋๋ค. include directive์ ๊ฒฝ์ฐ์๋ ํ์ด์ง๊ฐ ๋ก๋(๋ฒ์ญ)๋ ๋ ํ์ผ์ ์ฝ์
ํ์ฃ .
include action๊ณผ ๊ด๋ จ๋ ์์ฑ๋ค์ ์๋์ ๊ฐ์ต๋๋ค.
Attribute | Description |
---|
page | The relative URL of the page to be included. |
flush | The boolean attribute determines whether the included resource has its buffer flushed before it is included. |
Example:
date.jsp
<p>
Today's date: <%= (new java.util.Date()).toLocaleString()%>
</p>
main.jsp
<html>
<head>
<title>The include Action Example</title>
</head>
<body>
<center>
<h2>The include action Example</h2>
<jsp:include page="date.jsp" flush="true" />
</center>
</body>
</html>
์คํ ๊ฒฐ๊ณผ๋ ์๋์ ๊ฐ์ต๋๋ค.
The include action ExampleToday's date: 12-Sep-2010 14:54:22 |
The <jsp:useBean> Action
useBean ์ก์
์ ๋ค์ํ๊ฒ ์ฌ์ฉ๋ ์ ์๋ค. ํน์ ๊ฐ์ฒด๋ฅผ ๊ฒ์์ ํด์ ์ป์ด์ค๋๋ฐ ๋ง์ฝ ๊ฒ์์ด ์คํจํ๋ฉด ๊ฐ์ฒด๋ฅผ ์์ฑ์ ํด์ค๋๋ค.
๋ฌธ๋ฒ์ ์๋์ ๊ฐ์ต๋๋ค.
<jsp:useBean id="name" class="package.class" />
๋น ํด๋์ค๊ฐ ํ๋ฒ ๋ก๋๋๋ฉด ๋น ํ๋กํผํฐ๋ฅผ ์์ ํ๊ฑฐ๋ ์ฝ์ด์ค๊ธฐ ์ํด์ jsp:setProperty ์ jsp:getProperty ์ก์
์ ์ฌ์ฉํ ์ ์์ต๋๋ค.
useBean action๊ณผ ๊ด๋ จ๋ ์์ฑ๋ค์ ์๋์ ๊ฐ์ต๋๋ค.
Attribute | Description |
---|
class | Designates the full package name of the bean. |
type | Specifies the type of the variable that will refer to the object. |
beanName | Gives the name of the bean as specified by the instantiate () method of the java.beans.Beans class. |
The <jsp:setProperty> Action
setProperty ์ก์
์ ๋น์ ํ๋กํผํฐ๋ฅผ ์์ ํฉ๋๋ค. Bean ์ด ๋น์ฐํ ์ ์๊ฐ ๋์ด์์ด์ผ ๊ฒ ์ฃ .
์ด ์ก์
์ ๋๊ฐ์ง ๋ฐฉ๋ฒ์ผ๋ก ์ฌ์ฉ๋ฉ๋๋ค.
1. jsp:useBean ์ก์
์ดํ์, ์ธ๋ถ์์ ์ฌ์ฉ๋๋ ๋ฐฉ๋ฒ
<jsp:useBean id="myName" ... />
...
<jsp:setProperty name="myName" property="someProperty" .../>
2. jsp:useBean ์ก์
๋ด๋ถ์์ ์ฌ์ฉ๋๋ ๋ฐฉ๋ฒ
<jsp:useBean id="myName" ... >
...
<jsp:setProperty name="myName" property="someProperty" .../>
</jsp:useBean>
1๋ฒ๊ณผ ๊ฐ์ด ์ฌ์ฉํ ๊ฒฝ์ฐ์๋ Bean์ด ์๋ก ์์ฑ๋๊ฑฐ๋ ๊ธฐ์กด์ Bean์ด ๊ฒ์๋๊ฑฐ๋ ์๊ด์์ด ๋ชจ๋ jsp:setProperty ๊ฐ ์คํ์ด ๋์ง๋ง 2๋ฒ์ฒ๋ผ ์ฌ์ฉํ ๊ฒฝ์ฐ์๋ ์๋ก์ด Bean์ด ์์ฑ๋์์ ๊ฒฝ์ฐ์๋ง ์คํ์ด ๋ฉ๋๋ค.
setProperty ์ก์
์์ ์ฌ์ฉ๋๋ ์์ฑ๋ค์ ์๋์ ๊ฐ์ต๋๋ค.
Attribute | Description |
---|
name | Designates the bean whose property will be set. The Bean must have been previously defined. |
property | Indicates the property you want to set. A value of "*" means that all request parameters whose names match bean property names will be passed to the appropriate setter methods. |
value | The value that is to be assigned to the given property. The the parameter's value is null, or the parameter does not exist, the setProperty action is ignored. |
param | The param attribute is the name of the request parameter whose value the property is to receive. You can't use both value and param, but it is permissible to use neither. |
The <jsp:getProperty> Action
getProperty ์ก์
์ Bean์ ํ๋กํผํฐ๋ฅผ ์ฝ์ด์์ String์ผ๋ก ๋ณํํ์ฌ ๋ฐํํด์ค๋๋ค.
getProperty ์ก์
์ ๋๊ฐ์ ์์ฑ๋ง ๊ฐ์ง๊ณ ์์ต๋๋ค. ์ฌ์ฉ๋ฒ๊ณผ ์์ฑ์ ์๋์ ๊ฐ์ต๋๋ค.
<jsp:useBean id="myName" ... />
...
<jsp:getProperty name="myName" property="someProperty" .../>
getProperty ์ก์
์์ ์ฌ์ฉ๋๋ ์์ฑ๋ค์ ์๋์ ๊ฐ์ต๋๋ค. ์ฃผ์ํ ์ ์ ๋๊ฐ์ ์์ฑ ๋ชจ๋ ํ์๋ก ์ฌ์ฉ๋์ด์ผ ํ๋ค๋ ๊ฒ์
๋๋ค.
Attribute | Description |
---|
name | The name of the Bean that has a property to be retrieved. The Bean must have been previously defined. |
property | The property attribute is the name of the Bean property to be retrieved. |
Example:
ํ
์คํธ ๋น์ ๋ง๋ค์ด ๋ด
์๋ค.
/* File: TestBean.java */
package action;
public class TestBean {
private String message = "No message specified";
public String getMessage() {
return(message);
}
public void setMessage(String message) {
this.message = message;
}
}
๊ทธ๋ฆฌ๊ณ ์ปดํ์ผํด์ TestBean.class ํ์ผ์ ๋ง๋ค๊ณ C:\apache-tomcat-7.0.2\webapps\WEB-INF\classes\action ํด๋์ ๋ณต์ฌํด์ ๋ฃ์ต๋๋ค. ๊ทธ๋ฆฌ๊ณ CLASSPATH ๋ณ์์ ํด๋๊ฒฝ๋ก๋ฅผ ๋ฃ์ด์ค๋๋ค.
์ด์ main.jsp ํ์ผ์ ๋ง๋ค์ด์ ๋น์ ์์ฑํ๊ณ set/getProperty์ก์
์ ์ฌ์ฉํด ๋ด
์๋ค.
<html>
<head>
<title>Using JavaBeans in JSP</title>
</head>
<body>
<center>
<h2>Using JavaBeans in JSP</h2>
<jsp:useBean id="test" class="action.TestBean" />
<jsp:setProperty name="test"
property="message"
value="Hello JSP..." />
<p>Got message....</p>
<jsp:getProperty name="test" property="message" />
</center>
</body>
</html>
๊ฒฐ๊ณผ๋ ์๋์ฒ๋ผ ๋์์ผ ๊ฒ ์ฃ .
Using JavaBeans in JSPGot message.... Hello JSP... |
The <jsp:forward> Action
forward ์ก์
์ ํ์ฌ ํ์ด์ง์ ์ก์
์ ์ข
๋ฃํ๊ณ ์์ฒญ์ ๋ค๋ฅธ ํ์ด์ง๋ ์๋ธ๋ฆฟ์ผ๋ก ํฌ์๋ฉํฉ๋๋ค.
๋ฌธ๋ฒ์ ์๋์ ๊ฐ์ต๋๋ค.
<jsp:forward page="Relative URL" />
์ด ์ก์
์ ์์ฑ์ ๋ฌ๋ ํ๊ฐ๋ค์.
Attribute | Description |
---|
page | Should consist of a relative URL of another resource such as a static page, another JSP page, or a Java Servlet. |
Example:
date.jsp
<p>
Today's date: <%= (new java.util.Date()).toLocaleString()%>
</p>
main.jsp
<html>
<head>
<title>The include Action Example</title>
</head>
<body>
<center>
<h2>The include action Example</h2>
<jsp:forward page="date.jsp" />
</center>
</body>
</html>
root ๋๋ ํ ๋ฆฌ์ ์ด ํ์ผ๋ค์ ๋ฃ๊ณ main.jsp๋ฅผ ์์ฒญํด๋ณด์ธ์.
๋ฉ์ธํ์ด์ง์ ์ปจํ
ํธ๋ฅผ ์ ์ธํ ํฌ์๋ฉ๋ ํ์ด์ง์์์์ถ๋ ฅ์ ์๋์ฒ๋ผ ๋์ฌ ๊ฒ์
๋๋ค.
Today's date: 12-Sep-2010 14:54:22 |
The <jsp:plugin> Action
plugin ์ก์
์ JSPํ์ด์ง์ ์๋ฐ ์ปดํฌ๋ํธ๋ฅผ ์ฝ์
ํ๊ธฐ ์ํด์ ์ฌ์ฉ๋ฉ๋๋ค. ๋ธ๋ผ์ฐ์ ํ์
์ ๊ฒฐ์ ํ๊ณ , ํ์ํ๊ฒฝ์ฐ <object> ๋๋ <embed> ํ๊ทธ๋ฅผ ์ถ๊ฐํฉ๋๋ค.
ํ์ํ ํ๋ฌ๊ทธ์ธ์ด ์กด์ฌํ์ง ์์ผ๋ฉด ํ๋ฌ๊ทธ์ธ์ ๋ค์ด๋ก๋ํ๊ณ ์๋ฐ์ปดํฌ๋ํธ๋ฅผ ์คํ์ํต๋๋ค. ๊ทธ Java component๋ Applet์ด ๋ ์๋ ์๊ณ JavaBean์ด ๋ ์๋ ์์ต๋๋ค.
plugin action ์ Java components๋ฅผ formattingํ๊ธฐ ์ํด์ ๊ณตํต HTML ํ๊ทธ์ ์์ํ๋ ์ฌ๋ฌ ์์ฑ๋ค์ ๊ฐ์ง๊ณ ์์ต๋๋ค. <param> ์์ ๋ํ Applet ์ด๋ Bean์ ํ๋ผ๋ฏธํฐ๋ฅผ ์ ๋ฌํ๊ธฐ ์ํด์ ์ฌ์ฉ๋ ์ ์์ต๋๋ค.
<jsp:plugin type="applet" codebase="dirname" code="MyApplet.class"
width="60" height="80">
<jsp:param name="fontcolor" value="red" />
<jsp:param name="background" value="black" />
<jsp:fallback>
Unable to initialize Java Plugin
</jsp:fallback>
</jsp:plugin>
์ฌ๊ธฐ์ <fallback> ์์๋ ์๋ฐ์ปดํฌ๋ํธ ์คํ์ ์ค๋ฅ๊ฐ ๋ฐ์ํ์ ๋ ์ค๋ฅ ๋ฉ์์ง๋ฅผ ์ฌ์ฉ์์๊ฒ ์ ๋ฌํด์ฃผ๋ ์ญํ ์ ํฉ๋๋ค.
<jsp:element>, <jsp:attribute>, <jsp:body> Action
<jsp:element>, <jsp:attribute> and <jsp:body> ์ก์
๋ค์ XML ์์๋ฅผ ๋์ ์ผ๋ก ์ ์ํ๊ธฐ์ํด์ ์ฌ์ฉ๋ฉ๋๋ค. ๋์ ์ด๋ผ๋ ๊ฒ์ ์ปดํ์ผ ์๊ฐ ์๋๋ผ ๋ฐํ์์ ์์ฒญ์ ์ํด์ ๋ง๋ค์ด์ง ๋ค๋ ๊ฒ์ ์๋ฏธํฉ๋๋ค.
์๋๋ ๊ฐ๋จํ ์์ ์
๋๋ค.
<%@page language="java" contentType="text/html"%>
<html xmlns="http://www.w3c.org/1999/xhtml"
xmlns:jsp="http://java.sun.com/JSP/Page">
<head><title>Generate XML Element</title></head>
<body>
<jsp:element name="xmlElement">
<jsp:attribute name="xmlElementAttr">
Value for the attribute
</jsp:attribute>
<jsp:body>
Body for XML element
</jsp:body>
</jsp:element>
</body>
</html>
์คํ์ํค๋ฉด ๋์ ์ผ๋ก ์๋์๊ฐ์ HTMLํ์ผ์ด ๋ง๋ค์ด์ง๋๋ค.
<html xmlns="http://www.w3c.org/1999/xhtml"
xmlns:jsp="http://java.sun.com/JSP/Page">
<head><title>Generate XML Element</title></head>
<body>
<xmlElement xmlElementAttr="Value for the attribute">
Body for XML element
</xmlElement>
</body>
</html>
The <jsp:text> Action
<jsp:text> ์ก์
์ JSP ํ์ด์ง์ ๋ฌธ์๋ฅผ ์ํ ํ
ํ๋ฆฟ ํ
์คํธ๋ฅผ ์ฐ๊ธฐ์ํด ์ฌ์ฉ๋ ์ ์์ต๋๋ค.
๋ฌธ๋ฒ์ ์๋์ ๊ฐ์ต๋๋ค.
<jsp:text>Template data</jsp:text>
๋ฐ๋์๋ ๋ค๋ฅธ ์์๋ฅผ ๊ฐ์ง ์ ์์ต๋๋ค. ์ค๋ก์ง ํ
์คํธ์ EL ํํ์๋ง ๋ค์ด๊ฐ ์ ์์ต๋๋ค. XML files์์๋ ${whatever > 0}์ ๊ฐ์ ํํ์์ ์ธ ์ ์์ต๋๋ค ๋น๊ต์ฐ์ฐ์ > ๊ฐ ์ฌ์ฉ๋ ์ ์๊ธฐ ๋๋ฌธ์ด์ฃ . ๋์ ${whatever gt 0} ์ ๊ฐ์ด ์ฐ๊ฑฐ๋ CDATA ๋ฅผ ์ด์ฉํ ์๋ ์์ต๋๋ค.
<jsp:text><![CDATA[<br>]]></jsp:text>
XHTML์ ์ํ DOCTYPE ์ ์ธ์ ์ถ๊ฐํ ๋์๋ ์๋์ฒ๋ผ <jsp:text> ์์๋ฅผ ์ด์ฉํ ์ ์์ต๋๋ค.
<jsp:text><![CDATA[<!DOCTYPE html
PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"DTD/xhtml1-strict.dtd">]]>
</jsp:text>
<head><title>jsp:text action</title></head>
<body>
<books><book><jsp:text>
Welcome to JSP Programming
</jsp:text></book></books>
</body>
</html>
<jsp:text> ์ก์
์์ด ํ๋ฒ ์คํํด๋ณด์ธ์.
Reference : http://www.tutorialspoint.com/jsp/jsp_actions.htm