Рубрики
Без рубрики

Учебник по JSTL, Пример тегов JSTL

JSTL (Библиотека стандартных тегов JSP). Учебник по JSTL. Пример JSTL. Теги JSTL, теги ядра JSTL, теги JSTL c, c:forEach, c:out, c:set, c:catch, c:if, c:примеры url

Автор оригинала: Pankaj Kumar.

JSTL расшифровывается как Стандартная библиотека тегов JSP . JSTL-это стандартная библиотека тегов, которая предоставляет теги для управления поведением страницы JSP. Теги JSTL могут использоваться для операторов итерации и управления, интернационализации, SQL и т.д. Мы подробно рассмотрим теги JSTL в этом руководстве по JSTL.

Ранее мы видели, как мы можем использовать JSP EL и Теги действий JSP для написания кода JSP, подобного HTML, но их функциональность очень ограничена. Например, мы не можем перебирать коллекцию, используя элементы EL или действия, и мы не можем избежать HTML-тегов, чтобы отображать их как текст на стороне клиента. Вот где пригодятся теги JSTL, потому что мы можем сделать гораздо больше с помощью тегов JSTL.

JSTL

JSTL является частью API Java EE и входит в большинство контейнеров сервлетов. Но чтобы использовать JSTL на наших страницах JSP, нам нужно загрузить JSTL-банки для вашего контейнера сервлетов. В большинстве случаев вы можете найти их в примерах проектов загрузки сервера и использовать их. Вам необходимо включить эти библиотеки в свой проект веб-приложения WEB-INF/lib каталог.

Банки JSTL

Банки JSTL специфичны для контейнеров, например, в Tomcat нам нужно включить jstl.jar и standard.jar файлы jar в пути сборки проекта. Если они отсутствуют в каталоге библиотеки контейнеров, вы должны включить их в свое приложение. Если у вас есть проект maven, в следует добавить следующие зависимости pom.xml файл, иначе вы получите следующую ошибку на страницах JSP – eclipse Не может найти дескриптор библиотеки тегов для "https://java.sun.com/jsp/jstl/ядро"


	jstl
	jstl
	1.2


	taglibs
	standard
	1.1.2

Теги JSTL

На основе функций JSTL они подразделяются на пять типов.

  1. Теги ядра JSTL : Теги ядра JSTL обеспечивают поддержку итерации, условной логики, исключения перехвата, URL-адреса, прямого или перенаправленного ответа и т.д. Чтобы использовать основные теги JSTL, мы должны включить их на странице JSP, как показано ниже.

    В этой статье мы рассмотрим важные ключевые теги JSTL.

  2. Теги форматирования и локализации JSTL : Теги форматирования JSTL предназначены для форматирования чисел, дат и поддержки i18n с помощью локализаций и пакетов ресурсов. Мы можем включить эти теги jstl в JSP с нижеприведенным синтаксисом:

  3. Теги JSTL SQL : Теги JSTL SQL обеспечивают поддержку взаимодействия с реляционными базами данных, такими как Oracle, MySQL и т.д. Используя теги JSTL SQL, мы можем выполнять запросы к базе данных, мы включаем эти теги JSTL в JSP со следующим синтаксисом:

  4. XML-теги JSTL : XML-теги JSTL используются для работы с XML-документами, такими как анализ XML, преобразование XML-данных и оценка выражений XPath. Синтаксис для включения XML-тегов JSTL в страницу JSP таков:

  5. Теги функций JSTL : Теги JSTL предоставляют ряд функций, которые мы можем использовать для выполнения общих операций, большинство из них предназначены для обработки строк, таких как объединение строк, разделение строк и т.д. Синтаксис для включения функций JSTL в страницу JSP таков:

Обратите внимание, что все стандартные теги JSTL URL начинаются с https://java.sun.com/jsp/jstl/ и мы можем использовать любой префикс, который мы хотим, но лучше всего использовать префикс, определенный выше, потому что их используют все, поэтому это не создаст никакой путаницы.

Теги ядра JSTL

Основные теги JSTL перечислены в таблице ниже.

Чтобы написать что-то на странице JSP, мы можем использовать EL также с этим тегом
То же, что и директива или включает в себя
перенаправить запрос на другой ресурс
Чтобы задать значение переменной в заданной области.
Чтобы удалить переменную из заданной области
Чтобы поймать исключение и обернуть его в объект.
Простая условная логика, используемая с EL, и мы можем использовать ее для обработки исключения из
Простой условный тег, который устанавливает контекст для взаимоисключающих условных операций, помеченных и
Подзаголовок этого включает его тело, если его состояние оценивается как “истинное”.
Подзаголовок этого включает его тело, если его состояние оценивается как “ложное”.
для итерации по коллекции
для итерации по токенам, разделенным разделителем.
используется для передачи параметров
чтобы создать URL-адрес с необязательными параметрами строки запроса

Учебник по JSTL

Давайте рассмотрим некоторые из основных тегов JSTL, используемых в простом веб – приложении. Наш проект будет включать в себя JavaBean, и мы создадим список объектов и установим некоторые атрибуты, которые будут использоваться в JSP. Страница JSP покажет, как выполнить итерацию по коллекции, используя условную логику с EL и некоторые другие распространенные способы использования.

Учебник по JSTL – Класс Java Bean

package com.journaldev.model;

public class Employee {

	private int id;
	private String name;
	private String role;
	public Employee() {
	}
	public int getId() {
		return id;
	}
	public void setId(int id) {
		this.id = id;
	}
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
	public String getRole() {
		return role;
	}
	public void setRole(String role) {
		this.role = role;
	}

}

Учебник по JSTL – Класс сервлетов

package com.journaldev.servlet;

import java.io.IOException;
import java.util.ArrayList;
import java.util.List;

import javax.servlet.RequestDispatcher;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import com.journaldev.model.Employee;

@WebServlet("/HomeServlet")
public class HomeServlet extends HttpServlet {
	private static final long serialVersionUID = 1L;
       
	protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		List empList = new ArrayList();
		Employee emp1 = new Employee();
		emp1.setId(1); emp1.setName("Pankaj");emp1.setRole("Developer");
		Employee emp2 = new Employee();
		emp2.setId(2); emp2.setName("Meghna");emp2.setRole("Manager");
		empList.add(emp1);empList.add(emp2);
		request.setAttribute("empList", empList);
		
		request.setAttribute("htmlTagData", "
creates a new line."); request.setAttribute("url", "https://www.journaldev.com"); RequestDispatcher rd = getServletContext().getRequestDispatcher("/home.jsp"); rd.forward(request, response); } }

Учебник по JSTL – Страница JSP

главная страница.jsp код:

<%@ page language="java" contentType="text/html; charset=US-ASCII"
    pageEncoding="US-ASCII"%>





Home Page
<%@ taglib uri="https://java.sun.com/jsp/jstl/core" prefix="c" %>



<%-- Using JSTL forEach and out to loop a list and display items in table --%>

IDNameRole


<%-- simple c:if and c:out example with HTML escaping --%>

<%-- c:set example to set variable value --%>

<%-- c:catch example --%> <% int x = 5/0;%>

Exception is : ${exception}
Exception Message: ${exception.message}



<%-- c:url example --%> ">JournalDev

Теперь, когда мы запускаем приложение с URL https://localhost:8080/JSTLExample/HomeServlet , мы получаем ответ, как показано на рисунке ниже.

В приведенном выше примере JSTL мы используем c:catch для перехвата исключения в методе службы JSP, он отличается от Обработки исключений JSP с конфигурациями страниц ошибок.

Это все для быстрого обзора тегов JSTL и примера использования основных тегов JSTL.

Ссылка: Страница Википедии JSTL