English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
جمعية العلامات القياسية لـ JSP (JSTL) مجموعة من العلامات التي تغطي الوظائف الأساسية المشتركة لتطبيقات JSP.
يدعم JSTL المهام العامة والمنظمة، مثل التكرار، الحكم الشرطي، عمليات معالجة مستندات XML، علامات اللغة المحلية، علامات SQL. بالإضافة إلى ذلك، يقدم إطارًا لاستخدام العلامات المخصصة التي تتكامل مع JSTL.
بناءً على الوظائف التي يقدمها علامات JSTL، يمكن تصنيفها إلى 5 فئات.
العلامات التوضيحية الأساسية
格式化标签
علامات SQL
XML 标签
وظائف JSTL
خطوات تثبيت مكتبة JSTL في Apache Tomcat كالتالي:
تحميل الحزمة الثنائية من مكتبة العلامات القياسية لـ Apache (jakarta-taglibs-standard-current.zip).
عنوان التحميل الرسمي:http://archive.apache.org/dist/jakarta/taglibs/standard/binaries/1.1.2.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一样 | |
本身只当做 | |
| |
| |
检索一个绝对或相对 URL,然后将其内容暴露给页面 | |
基础迭代标签,接受多种集合类型 | |
根据指定的分隔符来分隔内容并迭代输出 | |
用来给包含或重定向的页面传递参数 | |
重定向至一个新的URL. | |
使用可选的查询参数来创造一个URL |
JSTL格式化标签用来格式化并输出文本、日期、时间、数字。引用格式化标签库的语法如下:
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>
标签 | وصف |
---|---|
使用指定的格式或精度格式化数字 | |
解析一个代表着数字,货币或百分比的字符串 | |
使用指定的风格或模式格式化日期和时间 | |
解析一个代表着日期或时间的字符串 | |
绑定资源 | |
指定地区 | |
绑定资源 | |
指定时区 | |
指定时区 | |
显示资源配置文件信息 | |
设置request的字符编码 |
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 对象值 | |
在共享数据库连接中提供嵌套的数据库行为元素,将所有语句以一个事务的形式来运行 |
JSTL XML标签库提供了创建和操作XML文档的标签。引用XML标签库的语法如下:
<%@ taglib prefix="x" uri="http://java.sun.com/jsp/jstl/xml" %>
在使用xml标签前,你必须将XML 和 XPath 的相关包拷贝至你的
XercesImpl.jar
xalan.jar
标签 | وصف |
---|---|
与<%= ... >,类似,不过只用于XPath表达式 | |
解析 XML 数据 | |
设置XPath表达式 | |
判断XPath表达式,若为真,则执行本体中的内容,否则跳过本体 | |
迭代XML文档中的节点 | |
| |
| |
| |
将XSL转换应用在XML文档中 | |
与 |
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() | إزالة الرموز الفارغة في البداية والنهاية |