Теги действий 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: 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, которое присутствует в выходных данных.
Когда вы выполните приведенный выше код, вы получите следующий результат:
Вывод:
В этом примере, используя 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, запрос перенаправляется на эту страницу, и мы получаем вывод: «Это после страницы пересылки».
Когда мы выполним приведенный выше код, мы получим следующий вывод
Вывод:
Мы вызываем 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.
При выполнении приведенного выше кода вы получите следующий результат:
Вывод:
Здесь мы получаем выходные данные тега тела сгенерированного 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: Здесь мы берем текстовый объект для печати текста шаблона.
Когда вы выполните приведенный выше код, вы получите следующий вывод
Вывод:
Мы получаем текст шаблона 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, и внутри он будет сгенерирован в этом формате:
Для этого не будет никаких выходных данных, поскольку они будут сгенерированы внутри.