Теги действий JSP

Что такое действие JSP?

Действия JSP используют конструкцию синтаксиса XML для управления поведением механизма сервлетов. Мы можем динамически вставлять файл, повторно использовать компоненты bean-компонентов, перенаправлять пользователя на другую страницу и т. д. с помощью действий JSP, таких как включение и пересылка. В отличие от директив, действия переоцениваются при каждом доступе к странице.

Синтаксис:

<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: body Определяет элементы XML, которые генерируются динамически во время обработки запроса.
jsp: текст текст шаблона Используется для вставки текста шаблона на страницы JSP, содержащие только текст и выражения EL.
jsp: param Передает параметры в действие jsp:plugin для добавления дополнительных данных.
jsp: атрибут Определяет атрибуты XML, которые генерируются динамически.
jsp:вывод Указывает декларацию XML или DOCTYPE, которая будет использоваться в выходных данных.

jsp: useBean

  • Это имя действия используется, когда мы хотим использовать bean-компоненты на странице JSP.
  • С помощью этого тега мы можем легко вызвать компонент.

Синтаксис jsp: UseBean:

<jsp:useBean id="" class="" />

Здесь указывается идентификатор этого bean-компонента, а class — это полный путь к классу 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: В приведенном выше коде мы используем «идентификатор компонента» и «путь к классу» компонента.

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: В первый файл мы включаем файл date.jsp в action_jsp2.jsp.

Дата.jsp:

Строка кода 11: Мы печатаем сегодняшнюю дату в строке кода 11 в date.jsp.

Когда вы выполняете следующий код, выводится результат.

jsp: включить

Вывод:

  • Он отображает сегодняшнюю дату со временем, поскольку файл даты включен в основной JSP.

jsp: setProperty

  • Это свойство стандартных действий в JSP используется для установки свойства компонента.
  • Нам нужно определить компонент перед установкой свойства

Синтаксис:

<jsp:setproperty name="" property="" >

Здесь имя определяет бин, свойство которого задано, и свойство, которое мы хотим задать. Также мы можем задать значение и атрибут param. Здесь value не является обязательным и определяет значение, которое назначается свойству. Здесь param — это имя параметра запроса, с помощью которого можно получить значение. Пример setproperty будет продемонстрирован ниже с getproperty

jsp: getProperty

  • Это свойство используется для получения свойства компонента.
  • Он преобразуется в строку и, наконец, вставляется в выходные данные.

Синтаксис:

<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 реализует сериализуемый класс. Это класс bean-компонента с геттерами-сеттерами в коде.

Строка кода 7: Здесь мы принимаем частную строковую переменную msg как «нулевую».

Строка кода 9-14: Здесь мы используем геттеры и сеттеры переменной «msg».

Action_jsp3.jsp

Строка кода 10: Здесь мы используем тег «useBean», где он указывает компонент, т.е. TestBean, который должен использоваться в этом классе jsp.

Строка кода 11: Здесь мы устанавливаем значение свойства msg для bean-компонента TestBean как «GuruTutorial».

CodeLine12: Здесь, используя getProperty, мы получаем значение свойства msg для bean-компонента TestBean, т.е. GuruTutorial, которое присутствует в выходных данных.

Когда вы выполните приведенный выше код, вы получите следующий результат:

jsp: getProperty

Вывод:

В этом примере, используя TestBean, мы пытаемся установить свойство «gurutest» с помощью setProperty и получить значение свойства с помощью getProperty как «GuruTutorial».

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 компоненты в jsp, т. е. компоненты Java могут быть либо апплетом, либо компонентом.
  • Он обнаруживает браузер и добавляет или JSP-теги в файл

Синтаксис:

<jsp:plugin type="applet/bean" code="objectcode" codebase="objectcodebase">
  • Здесь тип указывает либо объект, либо компонент.
  • Код указывает имя класса апплета или компонента.
  • База кода содержит базовый 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>

Студент.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:plugin, где мы берем три атрибута.

  • Тип – в данном случае это bean
  • Код-имя файла
  • Codebase — путь с именем пакета.

Строка кода 11–14: Здесь мы берем объект jsp: params, под которым находится дочерний объект param с атрибутами name и value, и устанавливаем значения id и name в этих атрибутах.

Студент.java

Код 7-17: Мы используем геттеры и сеттеры для идентификатора и имени переменных.

Код 19-20: мы инициализируем переменные id и name.

Здесь мы получим вывод в случае, когда установленные значения параметра будут использоваться в Student Bean. В этом случае у нас не будет никакого вывода, поскольку мы просто устанавливаем и получаем значения параметра, но никуда его не печатаем.

jsp: body

  • Этот тег используется для динамического определения XML, т.е. Elements может генерироваться во время запроса, чем во время компиляции.
  • Фактически он определяет 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.

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:вывод

  • Он указывает декларацию XML или декларацию DOCTYPE jsp.
  • Объявление XML и DOCTYPE объявляются выходными данными.

Синтаксис:

<jsp:output doctype-root-element="" doctype-system="">

Здесь doctype-root-element указывает корневой элемент XML-документа в DOCTYPE. 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, и внутри он будет сгенерирован в этом формате:

Для этого не будет никаких выходных данных, поскольку они будут сгенерированы внутри.