Теги дій JSP

Що таке JSP Action?

Дії JSP використовують конструкцію в синтаксисі XML для керування поведінкою механізму сервлетів. Ми можемо динамічно вставляти файл, повторно використовувати компоненти компонентів, перенаправляти користувача на іншу сторінку тощо за допомогою дій JSP, таких як включення та пересилання. На відміну від директив, дії переоцінюються щоразу, коли відкривається сторінка.

Синтаксис:

<jsp:action_name attribute="value" />

У цьому посібнику ви дізнаєтесь про стандартні дії JSP. Теги JSP Standard Action використовуються для керування поведінкою механізму сервлетів.

Список часто використовуваних тегів дій у JSP

У JSP є 11 типів стандартних тегів дій, і ось повний список із них.

Назва тегу дії синтаксис Опис
jsp:useBean Використовується для виклику та використання компонентів на сторінці JSP.
jsp: включати Включає інший файл 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:useBean

  • Ця назва дії використовується, коли ми хочемо використовувати bean-компоненти на сторінці JSP.
  • За допомогою цього тегу ми можемо легко викликати 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: У наведеному вище коді ми використовуємо «ідентифікатор компонента» та «шлях до класу» компонента.

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>

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

Рядок коду 10: У перший файл ми включаємо файл date.jsp у action_jsp2.jsp

Date.jsp:

Рядок коду 11: Ми друкуємо сьогоднішню дату в рядку коду 11 у date.jsp

Коли ви виконуєте наступний код, це вихід.

jsp: включати

вихід:

  • Він відображає сьогоднішню дату з часом, оскільки файл дати включено до основного JSP

jsp:setProperty

  • Ця властивість стандартних дій у JSP використовується для встановлення властивостей компонента.
  • Нам потрібно визначити bean перед установкою властивості

Синтаксис:

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

Тут ім’я визначає бін, властивість якого встановлено, і властивість, яку ми хочемо встановити. Крім того, ми можемо встановити атрибут значення та параметр. Тут значення не є обов’язковим, і воно визначає значення, яке присвоюється властивості. Тут param — це назва параметра запиту, за допомогою якого можна отримати значення. Приклад setproperty буде продемонстровано нижче з getproperty

jsp:getProperty

  • Ця властивість використовується для отримання властивості біна.
  • Він перетворюється на рядок і нарешті вставляється у вихід.

Синтаксис:

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

Тут має бути визначено ім’я bean-компонента, з якого має бути отримано властивість, і bean. Атрибут властивості — це ім’я властивості 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:

Рядок коду 5: TheTestBean реалізує серіалізований клас. Це bean-клас із геттерами-сеттерами в коді.

Рядок коду 7: тут ми приймаємо приватну рядкову змінну msg як «null»

Рядок коду 9-14: Тут ми використовуємо геттери та сетери змінної “msg”.

Action_jsp3.jsp

Рядок коду 10: Тут ми використовуємо тег useBean, де він визначає bean, тобто TestBean, який має використовуватися в цьому класі jsp

Рядок коду 11: Тут ми встановлюємо значення властивості msg для компонента TestBean як «GuruTutorial».

CodeLine12: тут, використовуючи getProperty, ми отримуємо значення властивості msg для компонента 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 Action для перенаправлення запиту на сторінку, згадану в атрибуті, тобто 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">
  • Тут тип визначає або об’єкт, або 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: plugin, де ми беремо три атрибути

  • Тип – в даному випадку боб
  • Кодове ім'я файлу
  • Codebase – шлях із назвою пакета

Рядок коду 11-14: Тут ми беремо об’єкт jsp: params, під яким є дочірній об’єкт param з атрибутами name і value, і ми встановлюємо значення id і name в цих атрибутах.

Student.java

Код 7-17: Ми використовуємо геттери та сетери для змінних id та name

Код 19-20: ми ініціалізуємо змінні id та name.

Тут ми отримаємо вихід у випадку, коли встановлені значення param будуть використані в Student Bean. У цьому випадку ми не матимемо жодного виводу, оскільки ми просто встановлюємо та отримуємо значення param, але ніде його не друкуємо.

jsp:тіло

  • Цей тег використовується для динамічного визначення XML, тобто Елементи може генеруватися під час запиту, ніж під час компіляції.
  • Він фактично визначає XML, який генерується динамічно тіло елемента.

Синтаксис:

<jsp:body></jsp:body>

Тут ми пишемо тег XML body в цих тегах

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: Тут ми маємо дію body, де ми пишемо тіло XML, яке буде згенеровано в динамічному XML.

Коли ви виконуєте наведений вище код, ви отримуєте такий результат:

jsp:атрибут

вихід:

Тут ми отримуємо вихід із тегу body згенерованого 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, і внутрішньо він буде згенерований у такому форматі:

Для цього не буде вихідних даних, оскільки вони будуть згенеровані внутрішньо.