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에 날짜 파일이 포함되어 있으므로 오늘 날짜와 시간을 표시합니다.

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 속성 값을 가져옵니다.

위 코드를 실행하면 다음과 같은 출력이 나옵니다.

jsp:getProperty

출력:

이 예에서는 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를 호출하면 요청이 이 페이지로 전달되고 "이것은 전달 페이지 이후입니다."라는 출력을 얻습니다.

위의 코드를 실행하면 다음과 같은 출력이 나옵니다.

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 본문을 작성하는 본문 작업이 있습니다.

위 코드를 실행하면 다음과 같은 출력이 나옵니다.

jsp:속성

출력:

여기서는 생성된 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: 여기서는 템플릿 텍스트를 인쇄하기 위해 텍스트 개체를 사용합니다.

위 코드를 실행하면 다음과 같은 출력이 나옵니다.

jsp:텍스트

출력:

텍스트 작업 개체 내에 배치되는 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을 생성하고 내부적으로 다음 형식으로 생성됩니다.

내부적으로 생성되므로 이에 대한 출력은 없습니다.