1 / 13

Пользовательские действия ( custom actions) в JSP . JSTL.

Пользовательские действия ( custom actions) в JSP . JSTL. Пользовательские действия ( custom actions). Назначение : отделить вёрстку от программирования на JSP- страницах : Разработчики-программисты создают Java- компоненты , оформляемые в библиотеки тегов

gefen
Download Presentation

Пользовательские действия ( custom actions) в JSP . JSTL.

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Пользовательские действия(custom actions) в JSP. JSTL.

  2. Пользовательские действия(custom actions) Назначение: отделить вёрстку от программирования на JSP-страницах: • Разработчики-программисты создают Java-компоненты, оформляемые в библиотеки тегов • Дизайнеры и верстальщики используют эти теги для реализации действий на веб-страницах

  3. Пользовательский тег • При вызове тегу задаются атрибуты • Реализуется в виде объекта, имеющего кроме прочих специальные методы: • выполнения действия • освобождения памяти

  4. Использование библиотеки тегов На JSP-страницеиспользуется директива: <%@ taglib uri="/WEB-INF/hello_example.tld" prefix="t" %> которая указывает TLD-файл, описывающий библиотеку тегов в XML-формате Вызовдействия в виде тега: <t:hello name="${param.username}" default="my friends" /> Краткая форма: <t:tag /> Полная форма: <t:fulltag atr1="val1" … atrn="valn"> тело тега </t:fulltag>

  5. Определение тегов. TLD-файл <?xml version="1.0" encoding="ISO-8859-1" ?> <!DOCTYPE taglib PUBLIC "-//Sun Microsystems, Inc.//DTD JSP Tag Library 1.2//EN" "http://java.sun.com/dtd/web-jsptaglibrary_1_2.dtd"> <tlib-version>1.0</tlib-version> <jsp-version>1.2</jsp-version> <short-name>Необязательное имя</short-name> <uri>http://my.domen.ru/taglibs/hellotaglib</uri> <description>Необязательное описание</description> <tag> <name>hello</name> <tag-class>jstlpg.tags.HelloTag</tag-class> <body-content>empty</body-content> <attribute> <name>username</name> <required>false</required> <rtexprvalue>true</rtexprvalue> </attribute> </tag>

  6. Определение тегов. Объект-обработчик тега. public class HelloTag extends TagSupport { private String name = null; public int doStartTag() throws JspException { try { pageContext.getOut().print("Hello."+(name==null?"":name)); } catch (Exception ex) { throw new JspTagException(ex.getMessage()); } return SKIP_BODY; } public void setUsername(String name) { this.name = name; } }

  7. Пример использования тега <%@ page contentType="text/html; charset=UTF-8" %> <%@ taglib uri="/WEB-INF/hello_example.tld" prefix="t" %> <html><head> <title>Hello example</title> </head><body> <h1> <t:hello username="${param.name}" default="my friends" /> </h1> </body> </html>

  8. Библиотека стандартных пользовательских действий (JSTL) • Основные теги позволяющие делать циклы, условия, выводить информацию на экран: <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> • Теги для работы с xml-документами: <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/xml" %> • Теги для работы с базами данных: <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/sql" %>

  9. Библиотека стандартных пользовательских действий (JSTL) <c:out name="Hello my friends" /> <c:set var="fio" scope="session" value="param.name" /> <c:import url="footer.jsp" /> <c:url value="/a3.jsp"> <c:param name="title" value="${param.title}" /> </c:url>

  10. Области видимости • Страница (page) • Запрос (request) • Сессия (session) • Приложение (application)

  11. Язык выражений Операторы: ==, !=, <, >, <=, >=, eq, ne, lt, gt, le, ge ${param.username}

  12. Проверка условий и итерации <c:if test="${not empty error}"> </c:if> <c:foreach var="book" items="${books}" begin="0" end="9"> </c:foreach> <c:foreach var="i" begin="${start}" end="${finish}"> </c:foreach>

  13. Упрощённый вариант тегов • Тег создаётся не в виде java-программы, а в виде jsp • Помещается в файл с расширением tag в специальной папке (/WEB-INF/tags ) • В самом файле указываются атрибуты и т.д.

More Related