Теги дій 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>

Пояснення коду:

Code Лінія 10: У наведеному вище коді ми використовуємо «ідентифікатор компонента» та «шлях до класу» компонента.

jsp: включати

  • Він також використовувався для вставки файлу 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

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:

Code Лінія 5: TheTestBean реалізує серіалізований клас. Це 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Підручник, який є у виході

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

jsp:getProperty

вихід:

У цьому прикладі, використовуючи TestBean, ми намагаємося встановити властивість “gurutest” за допомогою setProperty та отримати значення властивості за допомогою getProperty як “GuruПідручник

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

Code Лінія 10: Тут ми використовуємо переадресацію JSP Action для перенаправлення запиту на сторінку, згадану в атрибуті, тобто jsp_action_42.jsp

Jsp_action_42.jsp

Code Лінія 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
  • Code вказує назву класу аплету або bean-компонента
  • Code base містить базову 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

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.

Тут ми отримаємо вихід у випадку, коли встановлені значення 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>

Пояснення коду:

Code Лінія 10: Тут ми визначаємо елемент, який динамічно генерується як XML, і його назва буде GuruXML-елемент

Code Рядок 11-13: Тут ми визначаємо атрибут, який буде атрибутом XML динамічно створеного XML.

Code Лінія 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>

Пояснення коду:

Code Лінія 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>

Пояснення коду:

Code Лінія 10: Тут ми використовуємо вихідний об’єкт дії для генерації DOCTYPE, і внутрішньо він буде згенерований у такому форматі:

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

Підсумуйте цей пост за допомогою: