Теги дій JSP
⚡ Розумний підсумок
Теги дій JSP використовують синтаксис XML для керування поведінкою сервлет-механізму, що дозволяє розробникам додавати файли, пересилати запити, працювати з JavaБіни та вбудовувати динамічний контент під час обробки запитів.

Що таке тег дії JSP?
Теги дій JSP використовують синтаксичні конструкції XML для керування поведінкою сервлет-двигуна. Розробники можуть динамічно вставляти файл, повторно використовувати його JavaКомпоненти Bean перенаправляють користувача на іншу сторінку та виконують аналогічні операції під час виконання через теги дій JSP, такі як include та forward. На відміну від директив, теги дій переоцінюються кожного разу, коли здійснюється доступ до сторінки, що робить їх ідеальними для динамічної поведінки під час обробки запитів.
Синтаксис:
<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 | Встановлює властивість bean. | |
| jsp:getProperty | Отримує властивість bean-компонента та перетворює його на рядок для виведення. | |
| jsp: вперед | Пересилає запит до іншого JSP або статичної сторінки. | |
| jsp: плагін | Вводить Java такі компоненти, як аплети або bean-компоненти, у JSP і автоматично генерує теги. | |
| jsp:тіло | Визначає елементи XML, які генеруються динамічно під час обробки запиту. | |
| jsp:текст | текст шаблону | Використовується для вставки тексту шаблону в сторінки JSP, що містять лише текст і вирази EL. |
| jsp: параметр | Передає параметри в дії jsp:plugin для додавання додаткових даних. | |
| jsp:атрибут | Визначає атрибути XML, які генеруються динамічно. | |
| jsp: вихід | Визначає декларацію XML або DOCTYPE, яка буде використовуватися у виводі. |
Тепер, коли у вас є повний список, ми розглянемо кожен із цих тегів дій JSP один за одним із синтаксисом та робочим прикладом.
Тег дії jsp:useBean
- Ця назва дії використовується, коли ви хочете використовувати JavaБіни на JSP-сторінці.
- За допомогою цього тегу ви можете легко викликати bean та повторно використовувати серверні компоненти.
Синтаксис 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: У наведеному вище коді ви використовуєте «ідентифікатор біна» та «шлях до класу» біна.
jsp:include Тег дії
- jsp:include використовується для вставки JSP-файлу в інший файл під час обробки запиту, подібно до включення інструкції.
- Він додається під час фази обробки запиту, що означає, що включений контент оцінюється щоразу, коли запитується сторінка.
Синтаксис 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>
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>Insert title here</title> </head> <body> <p> Today's date: <%= new java.util.Date().toLocaleString()%> </p> </body> </html>
Пояснення коду:
Action_jsp2.jsp
Code Лінія 10: У першому файлі ми включаємо файл date.jsp у action_jsp2.jsp.
Date.jsp:
Code Лінія 11: Ми друкуємо сьогоднішню дату в рядку коду 11 у date.jsp.
Коли ви виконуєте код, виводиться наступний результат.
вихід:
- Він відображає сьогоднішню дату з часом, оскільки файл дати включено до головної сторінки JSP.
Тег дії jsp:setProperty
- Ця стандартна дія в JSP використовується для встановлення властивості біна.
- Вам потрібно визначити bean-об'єкт, перш ніж налаштовувати властивість.
Синтаксис:
<jsp:setProperty name="" property="" >
Тут name визначає бін, властивість якого встановлено, а property – це властивість, яку потрібно встановити. Ви також можете встановити атрибути value та param. Тут value не є обов'язковим і визначає значення, яке присвоюється властивості. Тут param – це назва параметра запиту, за допомогою якого можна отримати значення. Приклад setProperty буде продемонстровано нижче за допомогою getProperty.
Тег дії jsp:getProperty
- Ця дія використовується для отримання властивості біна.
- Він перетворює властивість на рядок і, нарешті, вставляє її у вивід.
Синтаксис:
<jsp:getProperty name="" property="" >
Тут назва – це bean-компонент, з якого потрібно отримати властивість, і цей bean-компонент має бути визначений. Атрибут property – це назва властивості bean-компонента, яку потрібно отримати.
Приклад 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. Це клас bean-компонента з геттерами та сеттерами в коді.
Code Лінія 7Тут ми приймаємо приватну рядкову змінну msg як «null».
Code Рядок 9-14Тут ми використовуємо геттери та сеттери змінної “msg”.
Action_jsp3.jsp
Code Лінія 10: Тут ми використовуємо тег «useBean», де він вказує на bean-компонент (TestBean), який має використовуватися в цьому JSP-класі.
Code Лінія 11: Тут ми встановлюємо значення властивості msg для bean TestBean як “GuruПідручник».
Code Лінія 12: Тут, використовуючи getProperty, ми отримуємо значення властивості msg для bean TestBean (GuruПідручник), що відображається у виводі.
Коли ви виконуєте наведений вище код, ви отримуєте такий результат:
вихід:
У цьому прикладі, використовуючи TestBean, ми встановлюємо властивість “msg” за допомогою setProperty та отримуємо значення властивості за допомогою 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: Тут ми використовуємо дію forward JSP для пересилання запиту на сторінку, згадану в атрибуті, тобто jsp_action_42.jsp.
Jsp_action_42.jsp
Code Лінія 10: Після виклику action_jsp41.jsp запит пересилається на цю сторінку, і ми отримуємо результат «Це після сторінки пересилання».
Коли ми виконаємо наведений вище код, ми отримаємо наступний вивід.
вихід:
Ми викликаємо action_jsp41.jsp, але запит пересилається до jsp_action_42.jsp, і ми отримуємо вивід з цієї сторінки як «Це після сторінки пересилання».
Тег дії jsp:plugin
- Він використовується для ознайомлення Java компоненти в JSP, де Java Компоненти можуть бути як аплетом, так і компонентом.
- Він виявляє браузер і додає або теги у файл.
Синтаксис:
<jsp:plugin type="applet/bean" code="objectcode" codebase="objectcodebase">
- Тут тип визначає або об'єкт, або бін.
- 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, під яким є дочірній об'єкт param з атрибутами name та value, і ми встановлюємо значення id та name у цих атрибутах.
Student.java
Code 7-17: Ми використовуємо геттери та сеттери для змінних id та name.
Code 19-20: Ми ініціалізуємо змінні id та name.
Тут ми отримаємо вивід у випадку, коли встановлені значення параметра будуть використані в Student bean. У цьому випадку ми не матимемо жодного виводу, оскільки ми лише встановлюємо та отримуємо значення параметра, але нікуди його не друкуємо.
Тег дії 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, і його назва буде GuruXML-елемент.
Code Рядок 11-13: Тут ми визначаємо атрибут, який буде XML-атрибутом динамічно згенерованого XML.
Code Лінія 14: Тут у нас є дія body, де ми пишемо тіло XML, яке буде генеруватися динамічно.
Коли ви виконуєте наведений вище код, ви отримуєте такий результат:
вихід:
Тут ми отримуємо вивід з тегу body згенерованого XML.
Тег дії 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
- Він визначає 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>
Пояснення коду:
Code Лінія 10: Тут ми використовуємо об'єкт дії виводу для генерації DOCTYPE, і внутрішньо він буде згенерований у такому форматі:
Для цього не буде жодного видимого виводу, оскільки він буде згенерований внутрішньо.





