АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомДругоеЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция

JSTL core

Библиотека тегов JSTL состоит из четырёх групп тегов: основные теги – core, теги форматирования – fomatting, теги для работы с SQL – sql, теги для обработки XML – xml.

Library Actions Description
core   Основные: if/then выражения и switch конструкции; вывод; создание и удаление контекстных переменных; управ­ление свойствами JavaBeans компонентов; перехват исключений; итерирование коллекций; создание URL и импортирование их содержимого.
formatting   Интернационализация и форматирование: установка локализации; локализация текста и структуры сообще­ний; форматирование и анализ чисел, процентов, денег и дат.
sql   Доступ к БД: описание источника данных; выполнение запросов, обновление данных и транзакций; обработка результатов запроса.
xml   XML-анализ и преобразование: преобразование XML; доступ и преобразование XML через XPath и XSLT.

Библиотека core содержит в себе наиболее часто используемые теги.

<%@taglib uri=”http://java.sun.com/jstl/core” prefix=”c” %> – для обычной JSP.

<jsp:root version=”1.2” xmlns:c= ” http://java.sun.com/jstl/core ”>...</jsp:root> – для XML формата JSP.

Теги общего назначения:

<c:out /> – вычисляет и выводит значение выражения;

< c:set /> – устанавливает переменную в указанную область видимости;

<c:remove /> – удаляет переменную из указанной области видимости;

<c:catch /> – перехватывает обработку исключения.

Теги условного перехода:

<c:if /> – тело тега вычисляется только в том случае, если значение выражения true;

<c:choose /> (<c:when />, <c:otherwise />) – то же что и <c:if /> с поддержкой нескольких условий и действия, производимого по умолчанию.

Итераторы:

<c:forEach /> – выполняет тело тега для каждого элемента коллекции;

<c:forTokens /> – выполняет тело тега для каждой лексемы в строке.

Теги обработки URL:

<c:redirect /> – перенаправляет запрос на указанный URL;

<c:import/> – добавляет на JSP содержимое указанного WEB-ресурса;

<c:url /> – формирует адрес с учётом контекста приложения request.getContextPath().

<c:param /> – добавляет параметр к запросу, сформированному при помощи <c:url/>.

Ниже приведено несколько примеров, иллюстрирующих применение основных тегов из группы core.

<!--пример #5: демонстрация работы тегов c:set, c:remove, c:if, c:out: core1.jspx -->

<jsp:root xmlns:jsp="http://java.sun.com/JSP/Page"

xmlns:c="http://java.sun.com/jsp/jstl/core"

version="2.0">

<jsp:directive.page contentType=

"text/html; charset=Utf-8" />

<html><head><title>Демонстрация тегов core</title></head>

<h3> Демонстрация работы тегов c:set, c:remove, c:if, c:out <br/></h3>

<form>

Новое значение переменной:<input type="text" name="set" /> <br/>

Удалить переменную:<input type="checkbox" name="del" /> <br/>

<input type="submit" name="send" value="принять"/><br/>

</form>

<c:if test="${not empty param.send }">

<c:if test="${not empty param.set }">

<c:set var="item" value="${param.set}"

scope="session"></c:set>

</c:if>

<c:if test="${not empty param.del }">

<c:remove var="item"/>

</c:if>

</c:if>

<c:if test="${not empty item }">

<jsp:text>Значение переменной:</jsp:text>

<c:out value="${item }"/>

</c:if>

<c:if test="${empty item and not empty param.send}">

<jsp:text>Значение переменной: </jsp:text>

<c:out value="пусто"/>

</c:if>

</html>

</jsp:root>

<!--пример # 6: демонстрация работы тегов c:forEach, c:choose, c:when, c:otherwise: core2.jspx -->

<jsp:root xmlns:jsp="http://java.sun.com/JSP/Page"

xmlns:c="http://java.sun.com/jsp/jstl/core"

version="2.0">

<jsp:directive.page contentType=

"text/html; charset=Utf-8" />

<html><head>

<title>Демонстрация тегов core</title>

</head>

<h3>Демонстрация работы тегов <br/>c:forEach, c:choose, c:when, c:otherwise</h3>

<jsp:text>Ниже приведены случайно сгенерированные элементы массива <br/> и сделана их оценка по отношению к числу 50: <br/></jsp:text>

<jsp:useBean id="arr" class="chapt21.Arr" />

<c:set var="items" value="${arr.fillMap}"

scope="session" />

<c:forEach var="id" items="${items}">

<c:out value="${id}" />

<c:choose>

<c:when test="${id > 50}" >

<c:out value=" - число больше 50"/>

</c:when>

<c:otherwise>

<c:out value=" - число меньше 50"/>

</c:otherwise>

</c:choose>

<br/>

</c:forEach>

</html>

</jsp:root>

Элемент JavaBean, используемый в данном примере, – класс Arr, генерирующий массив из пяти случайных чисел. Его описание хранится в файле Arr.java. Исходный Java-файл хранится в каталоге на верхнем уровне приложения (например каталог build, src или JavaSourse) в зависимости от настроек web-приложения. Значение атрибута class равно chapt21.Arr тега jsp:useBean и означает, что файл находится в пакете chapt21, а имя класса – Arr. EL-выражение arr.fillMap означает вызов метода getfillMap().

// пример # 7: javabean класс: Arr.java

package chapt21;
public class Arr {

public Arr(){}
public String[] getfillMap(){
String str[] = new String[5];
for (int i =0; i < str.length; i++){
String r = Integer.toString((int)(Math.random()*100));
str[i] = r;
}
return str;
}
}

В результате в браузер будет выведено:

1) Демонстрация работы тегов
c:forEach, c:choose, c:when, c:otherwise

Ниже приведены случайно сгенерированные элементы массива
и сделана их оценка по отношению к числу 50:
8 - число меньше 50
68 - число больше 50
84 - число больше 50
5 - число меньше 50
36 - число меньше 50

Следующие примеры показывают работу тегов по взаимодействию с другими документами и ресурсами.

<!--пример # 8: демонстрация работы тегов c:import, c:url, c:redirect, c:param: url.jsp -->

<%@ page language="java" contentType=

"text/html; charset=Cp1251"

pageEncoding="Cp1251"%>

<%@ taglib uri="http://java.sun.com/jsp/jstl/core"

prefix="c" %>

<html><head><title>Переход по ссылке</title></head>

<body>

<h3>Данная страница демонстрирует работу тегов <br/>c:import, c:url, c:param, c:redirect</h3><br/>

<c:import url="\WEB-INF\jspf\imp.jspf"

charEncoding="Cp1251"/>

<c:url value="redirect.jspx" var="myUrl" />

<a href='<c:out value="${myUrl}"/>' />Перейти</a>

</body></html>

<!--пример # 9: фрагмент, включаемый с помощью тега c:import (находится
в каталоге WEB-INF/jspf/): imp.jspf -->

<h5>importing by using c:import from jspf</h5>

В результате запуска страницы url.jsp в браузер будет выведено:


1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | 80 | 81 | 82 | 83 | 84 | 85 | 86 | 87 | 88 | 89 | 90 | 91 | 92 | 93 | 94 | 95 | 96 | 97 | 98 | 99 | 100 | 101 | 102 | 103 | 104 | 105 | 106 | 107 | 108 | 109 | 110 | 111 | 112 | 113 | 114 | 115 | 116 | 117 | 118 | 119 | 120 | 121 | 122 | 123 | 124 | 125 | 126 | 127 | 128 | 129 | 130 | 131 | 132 | 133 | 134 | 135 | 136 | 137 | 138 | 139 | 140 | 141 | 142 | 143 |

Поиск по сайту:



Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Студалл.Орг (0.008 сек.)