JSP 액션 태그
⚡ 스마트 요약
JSP 액션 태그는 XML 구문을 사용하여 서블릿 엔진의 동작을 제어하며, 개발자는 이를 통해 파일을 포함하고, 요청을 전달하고, 서블릿 엔진과 상호 작용할 수 있습니다. JavaBeans를 사용하고 요청 처리 중에 동적 콘텐츠를 삽입합니다.

JSP 액션 태그란 무엇인가요?
JSP 액션 태그는 XML 구문 구조를 사용하여 서블릿 엔진의 동작을 제어합니다. 개발자는 파일을 동적으로 삽입하거나 재사용할 수 있습니다. Java빈 컴포넌트는 include, forward와 같은 JSP 액션 태그를 통해 사용자를 다른 페이지로 이동시키거나 유사한 런타임 작업을 수행할 수 있습니다. 디렉티브와 달리 액션 태그는 페이지에 접근할 때마다 다시 평가되므로 요청 처리 중 동적인 동작을 구현하는 데 이상적입니다.
구문 :
<jsp:action_name attribute="value" />
이 JSP 표준 액션 태그 튜토리얼에서는 각 액션 태그의 작동 방식, 기능 및 실제 JSP 파일에 적용하는 방법을 배우게 됩니다.
JSP에서 자주 사용되는 액션 태그 목록
JSP에는 11가지 유형의 표준 동작 태그가 있으며, 다음은 그 전체 목록입니다.
| 액션 태그 이름 | 통사론 | 기술설명 |
|---|---|---|
| jsp:useBean | JSP 페이지에서 빈을 호출하고 사용하는 데 사용됩니다. | |
| jsp:포함 | <jsp:include page=”page URL” flush=”true/false” /> | 요청 처리 중에 다른 JSP 파일을 현재 파일에 포함합니다. |
| jsp:setProperty | 빈의 속성을 설정합니다. | |
| jsp:getProperty | 빈의 속성을 검색하여 출력을 위해 문자열로 변환합니다. | |
| JSP:앞으로 | 요청을 다른 JSP나 정적 페이지로 전달합니다. | |
| jsp:플러그인 | 소개합니다 Java 애플릿이나 빈과 같은 구성 요소를 JSP에 삽입하여 자동으로 태그를 생성합니다. | |
| jsp:본문 | 요청 처리 중에 동적으로 생성되는 XML 요소를 정의합니다. | |
| jsp:텍스트 | 템플릿 텍스트 | JSP 페이지에 텍스트와 EL 표현식만 포함하는 템플릿 텍스트를 삽입하는 데 사용됩니다. |
| jsp:매개변수 | jsp:plugin 액션 내에서 매개변수를 전달하여 추가 데이터를 추가합니다. | |
| jsp:속성 | 동적으로 생성되는 XML 속성을 정의합니다. | |
| jsp:출력 | 출력에 사용할 XML 또는 DOCTYPE 선언을 지정합니다. |
이제 전체 목록을 확인했으니, 각 JSP 액션 태그를 구문 및 작동 예제와 함께 하나씩 살펴보겠습니다.
jsp:useBean 액션 태그
- 이 액션 이름은 사용하려는 경우에 사용됩니다. JavaJSP 페이지의 빈(Beans).
- 이 태그를 사용하면 빈을 쉽게 호출하고 서버 측 구성 요소를 재사용할 수 있습니다.
jsp:useBean의 구문:
<jsp:useBean id="" class="" />
여기서 id는 이 빈의 식별자를 지정하고 class는 빈 클래스의 전체 경로입니다.
예:
<%@ page language="java" contentType="text/html; charset=ISO-8859-1" pageEncoding="ISO-8859-1"%> <!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=ISO-8859-1"> <title>Action JSP1</title> </head> <body> <jsp:useBean id="name" class="demotest.DemoClass"> </body> </html>
코드 설명:
Code 10 라인 : 위 코드에서는 빈의 "빈 ID"와 "클래스 경로"를 사용합니다.
jsp:액션 태그 포함
- `jsp:include`는 요청 처리 중에 다른 파일에 JSP 파일을 삽입하는 데 사용되며, 이는 `include`와 유사한 기능을 합니다. 지시어.
- 이는 요청 처리 단계에서 추가되므로, 포함된 콘텐츠는 페이지가 요청될 때마다 평가됩니다.
jsp:include 구문
<jsp:include page="page URL" flush="true/false">
예:
Action_jsp2에서 (Code 10번째 줄에서 date.jsp 파일을 포함시키고 있습니다.
<%@ page language="java" contentType="text/html; charset=ISO-8859-1" pageEncoding="ISO-8859-1"%> <!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=ISO-8859-1"> <title>Date Guru JSP</title> </head> <body> <jsp:include page="date.jsp" flush="true" /> </body> </html>
날짜.jsp
<%@ page language="java" contentType="text/html; charset=ISO-8859-1" pageEncoding="ISO-8859-1"%> <!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=ISO-8859-1"> <title>Insert title here</title> </head> <body> <p> Today's date: <%= new java.util.Date().toLocaleString()%> </p> </body> </html>
코드 설명:
Action_jsp2.jsp
Code 10 라인 : 첫 번째 파일에서는 action_jsp2.jsp에 date.jsp 파일을 포함시키고 있습니다.
날짜.jsp:
Code 11 라인 : date.jsp 파일의 11번째 줄에서 오늘 날짜를 출력하고 있습니다.
코드를 실행하면 다음과 같은 출력이 나타납니다.
출력:
- 메인 JSP 페이지에 날짜 파일이 포함되어 있으므로 오늘 날짜와 시간이 표시됩니다.
jsp:setProperty 액션 태그
- JSP에서 이 표준 액션은 빈의 속성을 설정하는 데 사용됩니다.
- 속성을 설정하기 전에 빈을 정의해야 합니다.
구문 :
<jsp:setProperty name="" property="" >
여기서 `name`은 속성을 설정할 빈을 정의하고, `property`는 설정하려는 속성입니다. `value`와 `param` 속성도 설정할 수 있습니다. `value`는 필수가 아니며, 속성에 할당될 값을 정의합니다. `param`은 값을 가져오는 데 사용할 요청 매개변수의 이름입니다. 아래에서는 `setProperty`와 `getProperty`를 사용하여 예시를 보여드리겠습니다.
jsp:getProperty 액션 태그
- 이 동작은 빈의 속성을 가져오는 데 사용됩니다.
- 이 함수는 속성을 문자열로 변환한 다음 최종적으로 출력에 삽입합니다.
구문 :
<jsp:getProperty name="" property="" >
여기서 name은 속성을 가져와야 하는 빈의 이름이며, 해당 빈은 정의되어 있어야 합니다. property 속성은 가져올 빈 속성의 이름입니다.
setProperty 및 getProperty의 예:
TestBean.java:
package demotest; import java.io.Serializable; public class TestBean implements Serializable{ private String msg = "null"; public String getMsg() { return msg; } public void setMsg(String msg) { this.msg = msg; } }
Action_jsp3.jsp
<%@ page language="java" contentType="text/html; charset=ISO-8859-1" pageEncoding="ISO-8859-1"%> <!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=ISO-8859-1"> <title>Guru Action 3</title> </head> <body> <jsp:useBean id="GuruTest" class="demotest.TestBean" /> <jsp:setProperty name="GuruTest" property="msg" value="GuruTutorial" /> <jsp:getProperty name="GuruTest" property="msg" /> </body> </html>
코드 설명:
TestBean.java:
Code 라인 5TestBean은 Serializable 클래스를 구현하는 클래스입니다. 코드 내에 getter와 setter 메서드를 가진 빈 클래스입니다.
Code 라인 7여기서는 비공개 문자열 변수 msg를 "null"로 간주합니다.
Code 전화번호 9-14여기서는 변수 "msg"의 getter와 setter를 사용하고 있습니다.
Action_jsp3.jsp
Code 10 라인 : 여기서는 "useBean" 태그를 사용하고 있는데, 이 태그는 해당 JSP 클래스에서 사용해야 하는 빈(TestBean)을 지정합니다.
Code 11 라인 : 여기서는 TestBean 빈의 msg 속성 값을 "로 설정합니다.Guru지도 시간".
Code 12 라인 : 여기서는 getProperty를 사용하여 TestBean 빈의 msg 속성 값을 가져옵니다.Guru튜토리얼)이 출력 결과에 표시됩니다.
위 코드를 실행하면 다음과 같은 출력이 나옵니다.
출력:
이 예제에서는 TestBean을 사용하여 setProperty로 "msg" 속성을 설정하고 getProperty를 사용하여 해당 속성 값을 가져옵니다.Guru지도 시간".
jsp:forward 액션 태그
`jsp:forward` 액션 태그는 요청을 다른 JSP 페이지 또는 정적 페이지로 전달하는 데 사용됩니다.
여기서 요청은 매개변수 없이 또는 매개변수와 함께 전달될 수 있습니다.
구문 :
<jsp:forward page="value">
여기서 값은 요청이 전달되어야 하는 위치를 나타냅니다.
예:
Action_jsp41.jsp
<%@ page language="java" contentType="text/html; charset=ISO-8859-1" pageEncoding="ISO-8859-1"%> <!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=ISO-8859-1"> <title>Guru Action JSP1</title> </head> <body> <jsp:forward page="jsp_action_42.jsp" /> </body> </html>
Jsp_action_42.jsp
Guru Action JSP2</title> </head> <body> <a>This is after forward page</a> </body> </html>
코드 설명:
Action_jsp41.jsp
Code 10 라인 : 여기서는 JSP 액션을 사용하여 요청을 속성에 지정된 페이지(예: jsp_action_42.jsp)로 전달합니다.
Jsp_action_42.jsp
Code 10 라인 : action_jsp41.jsp를 호출하면 요청이 이 페이지로 전달되고 "이것은 전달 후 페이지입니다"라는 출력이 표시됩니다.
위 코드를 실행하면 다음과 같은 출력이 나타납니다.
출력:
저희는 action_jsp41.jsp를 호출했지만 요청이 jsp_action_42.jsp로 전달되었고, 해당 페이지에서 "이것은 전달 후 페이지입니다"라는 출력을 받았습니다.
jsp:플러그인 액션 태그
- 소개하는 데 사용됩니다. Java 컴포넌트를 JSP로 변환하는 경우, Java 구성 요소는 애플릿 또는 빈일 수 있습니다.
- 브라우저를 감지하고 추가합니다. 또는 파일에 태그를 추가합니다.
구문 :
<jsp:plugin type="applet/bean" code="objectcode" codebase="objectcodebase">
- 여기서 type은 객체 또는 빈을 지정합니다.
- Code 애플릿 또는 빈의 클래스 이름을 지정합니다.
- Code베이스에는 베이스가 포함되어 있습니다. URL 클래스 파일이 포함된 폴더입니다.
jsp:param 액션 태그
- 이것은 위에서 설명한 플러그인 객체의 하위 객체입니다.
- 추가 매개변수를 제공하려면 하나 이상의 작업을 포함해야 합니다.
구문 :
<jsp:params> <jsp:param name="val" value="val"/ > </jsp:params>
플러그인 및 매개변수의 예:
Action_jsp5.jsp
<%@ page language="java" contentType="text/html; charset=ISO-8859-1" pageEncoding="ISO-8859-1"%> <!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=ISO-8859-1"> <title>Action guru jsp5</title> </head> <body> <jsp:plugin type="bean" code="Student.class" codebase="demotest.Student"> <jsp:params> <jsp:param name="id" value="5" /> <jsp:param name="name" value="guru" /> </jsp:params> </jsp:plugin> </body> </html>
Student.java
package demotest; import java.io.Serializable; public class Student implements Serializable { public String getName () { return name; } public void setName (String name) { this.name = name; } public int getId() { return id; } public void setId (int id) { this.id = id; } private String name = "null"; private int id = 0; }
코드 설명:
Action_jsp5.jsp
Code 10 라인 : 여기서는 jsp:plugin 객체를 사용하고 있으며, 이 객체에서 세 가지 속성을 가져옵니다.
- 종류 – 이 경우에는 콩입니다.
- Code – 파일 이름.
- Codebase - 패키지 이름이 포함된 경로입니다.
Code 11-14행: 여기서는 jsp:params 객체를 가져오고, 그 아래에 name과 value 속성을 가진 param이라는 하위 객체를 만듭니다. 그리고 이 속성들에 id와 name 값을 설정합니다.
Student.java
Code 7 - 17 : 우리는 변수 id와 name에 대해 getter와 setter를 사용하고 있습니다.
Code 19 - 20 : 변수 id와 name을 초기화하고 있습니다.
여기서는 매개변수에 설정된 값이 Student 빈에서 사용될 경우 출력을 얻을 수 있습니다. 이 경우에는 매개변수 값을 설정하고 가져오기만 할 뿐 어디에도 출력하지 않으므로 아무런 출력도 없습니다.
jsp:body 액션 태그
- 이 태그는 XML을 동적으로 정의하는 데 사용됩니다. 요소 컴파일 시간이 아닌 요청 시간에 생성될 수 있습니다.
- 이는 요소 본문으로 동적으로 생성되는 XML을 정의합니다.
구문 :
<jsp:body></jsp:body>
여기서는 이러한 태그들 안에 XML 본문 태그를 작성합니다.
jsp:attribute 액션 태그
- 이 태그는 XML을 동적으로 정의하는 데 사용되며, 요소는 컴파일 시간이 아닌 요청 시간에 생성될 수 있습니다.
- 이는 동적으로 생성될 XML의 속성을 정의합니다.
구문 :
<jsp:attribute></jsp:attribute>
여기서는 XML의 속성 태그를 작성합니다.
본문 및 속성의 예:
Action_jsp6.jsp
<%@ page language="java" contentType="text/html; charset=ISO-8859-1" pageEncoding="ISO-8859-1"%> <!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=ISO-8859-1"> <title>Action Guru JSP6</title> </head> <body> <jsp:element name="GuruXMLElement"> <jsp:attribute name="GuruXMLattribute"> Value </jsp:attribute> <jsp:body>Guru XML</jsp:body> </jsp:element> </body> </html>
코드 설명:
Code 10 라인 : 여기서는 동적으로 생성되는 요소를 정의하고 있습니다. XML그리고 그 이름은 다음과 같습니다. GuruXMLElement.
Code 11-13행: 여기서는 동적으로 생성되는 XML의 XML 속성이 될 속성을 정의합니다.
Code 14 라인 : 여기서는 본문 액션을 통해 동적으로 생성될 XML 본문을 작성합니다.
위 코드를 실행하면 다음과 같은 출력이 나옵니다.
출력:
여기서는 생성된 XML의 body 태그에서 출력되는 내용을 확인할 수 있습니다.
jsp:text 액션 태그
- 이 기능은 템플릿 텍스트를 JSP 페이지에 삽입하는 데 사용됩니다.
- 본문에는 다른 요소가 포함되지 않으며 텍스트와 EL 표현식만 포함됩니다.
구문 :
<jsp:text>template text</jsp:text>
여기서 템플릿 텍스트는 템플릿 텍스트(JSP에 출력해야 하는 모든 일반 텍스트)만을 의미합니다. EL 표현.
예:
Action_jsp7.jsp
<%@ page language="java" contentType="text/html; charset=ISO-8859-1" pageEncoding="ISO-8859-1"%> <!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=ISO-8859-1"> <title>Guru Action JSP7</title> </head> <body> <jsp:text>Guru Template Text</jsp:text> </body> </html>
코드 설명:
Code 10 라인 : 여기서는 텍스트 객체를 사용하여 템플릿 텍스트를 출력합니다.
위 코드를 실행하면 다음과 같은 출력이 나옵니다.
출력:
우리는 얻고있다 Guru 텍스트 액션 객체 내에 배치되는 템플릿 텍스트입니다.
jsp:output 액션 태그
- 이는 JSP의 XML 선언 또는 DOCTYPE 선언을 지정합니다.
- XML 선언과 DOCTYPE은 출력에 의해 선언됩니다.
구문 :
<jsp:output doctype-root-element="" doctype-system="">
여기서 doctype-root-element는 DOCTYPE에서 XML 문서의 루트 요소를 나타냅니다. doctype-system은 출력에 생성되는 doctype을 나타내며 시스템 리터럴을 반환합니다.
예:
<%@ page language="java" contentType="text/html; charset=ISO-8859-1" pageEncoding="ISO-8859-1"%> <!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=ISO-8859-1"> <title>Action Guru JSP8</title> </head> <body> <jsp:output doctype-root-element="html PUBLIC" doctype-system="http://www.w3.org/TR/html4/loose.dtd"/> </body> </html>
코드 설명:
Code 10 라인 : 여기서는 출력 액션 객체를 사용하여 DOCTYPE을 생성하며, 내부적으로는 다음과 같은 형식으로 생성됩니다.
이 작업은 내부적으로 생성되므로 화면에 출력되는 내용은 없습니다.





