English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

مكتبة العلامات القياسية في JSP (JSTL)

جمعية العلامات القياسية لـ JSP (JSTL) مجموعة من العلامات التي تغطي الوظائف الأساسية المشتركة لتطبيقات JSP.

يدعم JSTL المهام العامة والمنظمة، مثل التكرار، الحكم الشرطي، عمليات معالجة مستندات XML، علامات اللغة المحلية، علامات SQL. بالإضافة إلى ذلك، يقدم إطارًا لاستخدام العلامات المخصصة التي تتكامل مع JSTL.

بناءً على الوظائف التي يقدمها علامات JSTL، يمكن تصنيفها إلى 5 فئات.

  • العلامات التوضيحية الأساسية

  • 格式化标签

  • علامات SQL

  • XML 标签

  • وظائف JSTL

تثبيت مكتبة JSTL

خطوات تثبيت مكتبة JSTL في Apache Tomcat كالتالي:

تحميل الحزمة الثنائية من مكتبة العلامات القياسية لـ Apache (jakarta-taglibs-standard-current.zip).

تحميل jakarta-taglibs-standard-1.1.2.zip استخراج الحزمة jakarta-taglibs-standard-1.1.2/lib/ في مجلدstandard.jar و jstl.jar نسخ الملف إلى /WEB-INF/lib/ .

انسخ ملف tld الذي تحتاجه للاستيراد إلى مجلد WEB-INF.

الآن سنضيف التكوين التالي إلى ملف web.xml:

<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.4" 
    xmlns="http://java.sun.com/xml/ns/j2ee" 
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee 
        http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
    <jsp-config>
    <taglib>
    <taglib-uri>http://java.sun.com/jsp/jstl/fmt</taglib-uri>
    <taglib-location>/WEB-INF/fmt.tld</taglib-location>
    </taglib>
    <taglib>
    <taglib-uri>http://java.sun.com/jsp/jstl/fmt-rt</taglib-uri>
    <taglib-location>/WEB-INF/fmt-rt.tld</taglib-location>
    </taglib>
    <taglib>
    <taglib-uri>http://java.sun.com/jsp/jstl/core</taglib-uri>
    <taglib-location>/WEB-INF/c.tld</taglib-location>
    </taglib>
    <taglib>
    <taglib-uri>http://java.sun.com/jsp/jstl/core-rt</taglib-uri>
    <taglib-location>/WEB-INF/c-rt.tld</taglib-location>
    </taglib>
    <taglib>
    <taglib-uri>http://java.sun.com/jsp/jstl/sql</taglib-uri>
    <taglib-location>/WEB-INF/sql.tld</taglib-location>
    </taglib>
    <taglib>
    <taglib-uri>http://java.sun.com/jsp/jstl/sql-rt</taglib-uri>
    <taglib-location>/WEB-INF/sql-rt.tld</taglib-location>
    </taglib>
    <taglib>
    <taglib-uri>http://java.sun.com/jsp/jstl/x</taglib-uri>
    <taglib-location>/WEB-INF/x.tld</taglib-location>
    </taglib>
    <taglib>
    <taglib-uri>http://java.sun.com/jsp/jstl/x-rt</taglib-uri>
    <taglib-location>/WEB-INF/x-rt.tld</taglib-location>
    </taglib>
    </jsp-config>
</web-app>

باستخدام أي مكتبة، يجب عليك تضمين علامة <taglib> في رأس كل ملف JSP.

العلامات التوضيحية الأساسية

العلامات التوضيحية الأساسية هي العلامات التوضيحية الأكثر استخدامًا في JSTL. جملة الاستدلال على مكتبة العلامات التوضيحية الأساسية كالتالي:

<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
标签 وصف
<c:out> لعرض البيانات في JSP، مثل <%= ... >
<c:set> لإعداد البيانات
<c:remove> 用于删除数据
用来处理产生错误的异常状况,并且将错误信息储存起来
与我们在一般程序中用的if一样
本身只当做的父标签
的子标签,用来判断条件是否成立
的子标签,接在标签后,当标签判断为false时被执行
检索一个绝对或相对 URL,然后将其内容暴露给页面
基础迭代标签,接受多种集合类型
根据指定的分隔符来分隔内容并迭代输出
用来给包含或重定向的页面传递参数
重定向至一个新的URL.
使用可选的查询参数来创造一个URL

格式化标签

JSTL格式化标签用来格式化并输出文本、日期、时间、数字。引用格式化标签库的语法如下:

<%@ taglib prefix="fmt" 
           uri="http://java.sun.com/jsp/jstl/fmt" %>
标签 وصف
使用指定的格式或精度格式化数字
解析一个代表着数字,货币或百分比的字符串
使用指定的风格或模式格式化日期和时间
解析一个代表着日期或时间的字符串
绑定资源
指定地区
绑定资源
指定时区
指定时区
显示资源配置文件信息
设置request的字符编码

SQL标签

JSTL SQL标签库提供了与关系型数据库(Oracle,MySQL,SQL Server等等)进行交互的标签。引用SQL标签库的语法如下:

<%@ taglib prefix="sql" 
           uri="http://java.sun.com/jsp/jstl/sql" %>
标签 وصف
指定数据源
运行SQL查询语句
运行SQL更新语句
将SQL语句中的参数设为指定值
将SQL语句中的日期参数设为指定的java.util.Date 对象值
在共享数据库连接中提供嵌套的数据库行为元素,将所有语句以一个事务的形式来运行

XML 标签

JSTL XML标签库提供了创建和操作XML文档的标签。引用XML标签库的语法如下:

<%@ taglib prefix="x" 
           uri="http://java.sun.com/jsp/jstl/xml" %>

在使用xml标签前,你必须将XML 和 XPath 的相关包拷贝至你的\lib下:

标签 وصف
与<%= ... >,类似,不过只用于XPath表达式
解析 XML 数据
设置XPath表达式
判断XPath表达式,若为真,则执行本体中的内容,否则跳过本体
迭代XML文档中的节点
的父标签
的子标签,用来进行条件判断
的子标签,当判断为false时被执行
将XSL转换应用在XML文档中
共同使用,用于设置XSL样式表

JSTL函数

JSTL包含一系列标准函数,大部分是通用的字符串处理函数。引用JSTL函数库的语法如下:

<%@ taglib prefix="fn" 
           uri="http://java.sun.com/jsp/jstl/functions" %>
وظيفة وصف
fn:contains() اختبار ما إذا كان النص يحتوي على النص الفرعي المحدد
fn:containsIgnoreCase() اختبار ما إذا كان النص يحتوي على النص الفرعي المحدد، دون النظر في الحالة
fn:endsWith() اختبار ما إذا كان النص ينتهي بالنص المحدد
fn:escapeXml() القفز عن الأحرف التي يمكن أن تكون علامات XML
fn:indexOf() إرجاع موضع النص المحدد في النص
fn:join() دمج عناصر النص في نص واحد وإرجاعه
fn:length() إرجاع طول النص
fn:replace() استبدال موضع محدد في النص بنص آخر وإرجاع النص
fn:split() فصل النص إلى مجموعة من الأجزاء باستخدام فاصلة محددة ثم إرجاعها كعدد
fn:startsWith() اختبار ما إذا كان النص يدخل في البداية المحددة
fn:substring() إرجاع جزء النص
fn:substringAfter() إرجاع جزء النص بعد النص الفرعي المحدد
fn:substringBefore() إرجاع جزء النص قبل النص الفرعي المحدد
fn:toLowerCase() تحويل حروف النص إلى أحرف صغيرة
fn:toUpperCase() تحويل حروف النص إلى أحرف كبيرة
fn:trim() إزالة الرموز الفارغة في البداية والنهاية