JSP 액션 태그
JSP 액션이란 무엇입니까?
JSP 작업은 XML 구문의 구성을 사용하여 서블릿 엔진의 동작을 제어합니다. 포함 및 전달과 같은 JSP 작업을 통해 동적으로 파일을 삽입하고, Bean 구성 요소를 재사용하고, 사용자를 다른 페이지로 전달할 수 있습니다. 지시문과 달리 작업은 페이지에 액세스할 때마다 다시 평가됩니다.
구문 :
<jsp:action_name attribute="value" />
이 튜토리얼에서는 JSP 표준 동작에 대해 배웁니다. JSP 표준 작업 태그는 서블릿 엔진의 동작을 제어하는 데 사용됩니다.
JSP에서 일반적으로 사용되는 액션 태그 목록
JSP에는 11가지 유형의 표준 동작 태그가 있으며, 다음은 그 전체 목록입니다.
액션 태그 이름 | 통사론 | 상품 설명 |
---|---|---|
jsp:useBean | JSP 페이지에서 빈을 호출하고 사용하는 데 사용됩니다. | |
jsp:포함 | 요청 처리 중에 다른 JSP 파일을 현재 파일에 포함합니다. | |
jsp:setProperty | 빈의 속성을 설정합니다. | |
jsp:getProperty | 빈의 속성을 검색하여 출력을 위해 문자열로 변환합니다. | |
JSP:앞으로 | 요청을 다른 JSP나 정적 페이지로 전달합니다. | |
jsp:플러그인 | 소개합니다 Java 애플릿이나 빈과 같은 구성 요소를 JSP에 삽입하여 자동으로 태그를 생성합니다. | |
jsp:본문 | 요청 처리 중에 동적으로 생성되는 XML 요소를 정의합니다. | |
jsp:텍스트 | 템플릿 텍스트 | JSP 페이지에 텍스트와 EL 표현식만 포함하는 템플릿 텍스트를 삽입하는 데 사용됩니다. |
jsp:매개변수 | jsp:plugin 액션 내에서 매개변수를 전달하여 추가 데이터를 추가합니다. | |
jsp:속성 | 동적으로 생성되는 XML 속성을 정의합니다. | |
jsp:출력 | 출력에 사용할 XML 또는 DOCTYPE 선언을 지정합니다. |
jsp:useBean
- 이 액션 이름은 JSP 페이지에서 Bean을 사용하려고 할 때 사용됩니다.
- 이 태그를 사용하면 Bean을 쉽게 호출할 수 있습니다.
jsp 구문: UseBean:
<jsp:useBean id="" class="" />
여기서는 이 Bean에 대한 식별자를 지정하고 클래스는 Bean 클래스의 전체 경로입니다.
예:
<%@ 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>
코드 설명:
코드 라인 10: 위 코드에서는 Bean의 "bean id"와 "class path"를 사용합니다.
jsp:포함
- 또한 다음과 같이 jsp 파일을 다른 파일에 삽입하는 데에도 사용되었습니다. 지시어.
- 요청 처리 단계에서 추가됩니다.
jsp 구문:include
<jsp:include page="page URL" flush="true/false">
예:
Action_jsp2(코드 라인 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
코드 라인 10: 첫 번째 파일에서는 action_jsp2.jsp에 date.jsp 파일을 포함합니다.
날짜.jsp:
코드 라인 11: date.jsp의 코드 라인 11에 오늘 날짜를 인쇄하고 있습니다.
코드를 실행하면 다음과 같은 출력이 나타납니다.
출력:
- 기본 JSP에 날짜 파일이 포함되어 있으므로 오늘 날짜와 시간을 표시합니다.
jsp:setProperty
- JSP의 표준 작업 속성은 Bean의 속성을 설정하는 데 사용됩니다.
- 속성을 설정하기 전에 빈을 정의해야 합니다.
구문 :
<jsp:setproperty name="" property="" >
여기서 이름은 속성이 설정된 빈과 설정하려는 속성을 정의합니다. 또한 value와 param 속성을 설정할 수 있습니다. 여기서 value는 필수가 아니며 속성에 할당되는 값을 정의합니다. 여기서 param은 값을 페치할 수 있는 요청 매개변수의 이름입니다. setproperty의 예는 getproperty와 함께 아래에서 설명합니다.
jsp:getProperty
- 이 속성은 Bean의 속성을 가져오는 데 사용됩니다.
- 문자열로 변환되어 최종적으로 출력에 삽입됩니다.
구문 :
<jsp:getAttribute 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:
코드 라인 5: TheTestBean은 직렬화 가능 클래스를 구현하고 있습니다. 코드에 getter setter가 있는 Bean 클래스입니다.
코드 라인 7: 여기서는 개인 문자열 변수 msg를 "null"로 간주합니다.
코드 라인 9-14: 여기서는 "msg" 변수의 getter 및 setter를 사용하고 있습니다.
Action_jsp3.jsp
코드 라인 10: 여기서는 "useBean" 태그를 사용하고 있는데, 여기서는 이 jsp 클래스에서 사용해야 하는 Bean, 즉 TestBean을 지정합니다.
코드 라인 11: 여기서는 TestBean Bean의 msg 속성 값을 "GuruTutorial"로 설정합니다.
CodeLine12: 여기에서는 getProperty를 사용하여 출력에 있는 Bean TestBean, 즉 GuruTutorial에 대한 msg 속성 값을 가져옵니다.
위 코드를 실행하면 다음과 같은 출력이 나옵니다.
출력:
이 예에서는 TestBean을 사용하여 setProperty를 사용하여 "gurutest" 속성을 설정하고 "GuruTutorial"로 getProperty를 사용하여 속성 값을 가져오려고 합니다.
JSP:앞으로
요청을 다른 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
코드 라인 10: 여기서는 전달 JSP 작업을 사용하여 속성에 언급된 페이지(예: jsp_action_42.jsp)로 요청을 전달합니다.
Jsp_action_42.jsp
코드 라인 10: action_jsp41.jsp를 호출하면 요청이 이 페이지로 전달되고 "이것은 전달 페이지 이후입니다."라는 출력을 얻습니다.
위의 코드를 실행하면 다음과 같은 출력이 나옵니다.
출력:
우리는 action_jsp41.jsp를 호출했지만 요청은 jsp_action_42.jsp로 전달되고 해당 페이지에서 "이것은 전달 페이지 이후입니다"라는 출력을 얻습니다.
jsp:플러그인
- 소개하는 데 사용됩니다. Java 즉, Java 구성 요소는 애플릿이나 빈이 될 수 있습니다.
- 브라우저를 감지하고 추가합니다. 또는 JSP 태그를 파일에 추가
구문 :
<jsp:plugin type="applet/bean" code="objectcode" codebase="objectcodebase">
- 여기서 유형은 객체 또는 Bean을 지정합니다.
- 코드는 애플릿 또는 빈의 클래스 이름을 지정합니다.
- 코드 베이스에는 클래스 파일이 포함된 기본 URL이 포함되어 있습니다.
jsp:매개변수
- 이는 위에서 설명한 플러그인 개체의 하위 개체입니다.
- 추가 매개변수를 제공하려면 하나 이상의 작업을 포함해야 합니다.
구문 :
<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
코드 라인 10: 여기에서는 jsp: 세 가지 속성을 사용하는 플러그인 객체를 사용합니다.
- 유형 - 이 경우에는 Bean입니다.
- 코드 - 파일 이름
- 코드베이스 – 패키지 이름이 있는 경로
코드 라인 11-14: 여기서는 name 및 value 속성을 가진 하위 param 객체가 있는 jsp: params 객체를 사용하고 이 속성에 id 및 name 값을 설정합니다.
Student.java
코드 7-17: 변수 ID와 이름에 대해 getter와 setter를 사용하고 있습니다.
코드 19-20: 변수 id와 name을 초기화하고 있습니다.
여기서는 Student Bean에서 param에 설정된 값을 사용할 경우의 출력을 보겠습니다. 이 경우 param 값을 설정하고 가져오는 중일 뿐 아무데도 인쇄하지 않으므로 출력이 없습니다.
jsp:본문
- 이 태그는 XML을 동적으로 정의하는 데 사용됩니다. 요소 컴파일 시간보다 요청 시간에 생성될 수 있습니다.
- 이는 실제로 요소 본문을 동적으로 생성하는 XML을 정의합니다.
구문 :
<jsp:body></jsp:body>
여기에서는 이 태그 내에 XML 본문 태그를 작성합니다.
jsp:속성
- 이 태그는 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>
코드 설명:
코드 라인 10: 여기서는 다음과 같이 동적으로 생성되는 요소를 정의합니다. XML, 이름은 GuruXMLElement가 됩니다.
코드 라인 11-13: 여기서는 동적으로 생성된 XML의 XML 속성이 될 속성을 정의합니다.
코드 라인 14: 여기에 동적으로 XML로 생성될 XML 본문을 작성하는 본문 작업이 있습니다.
위 코드를 실행하면 다음과 같은 출력이 나옵니다.
출력:
여기서는 생성된 XML의 body 태그에서 출력을 얻습니다.
jsp:텍스트
- 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>
코드 설명:
코드 라인 10: 여기서는 템플릿 텍스트를 인쇄하기 위해 텍스트 개체를 사용합니다.
위 코드를 실행하면 다음과 같은 출력이 나옵니다.
출력:
텍스트 작업 개체 내에 배치되는 Guru 템플릿 텍스트를 가져오고 있습니다.
jsp:출력
- 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>
코드 설명:
코드 라인 10: 여기서는 출력 작업 개체를 사용하여 DOCTYPE을 생성하고 내부적으로 다음 형식으로 생성됩니다.
내부적으로 생성되므로 이에 대한 출력은 없습니다.