مكتبة علامات JSTL
تعتبر JSTL عمومًا مكتبة علامات واحدة. لكن JSTL لديها في الواقع 4 مكتبات علامات. يتم تلخيص مكتبات العلامات هذه على النحو التالي:
مكتبة العلامات الأساسية - تحتوي على بعض العلامات الضرورية لتطبيقات الويب. تتضمن أمثلة مكتبة العلامات الأساسية الحلقات وتعيين التعبير والإدخال والإخراج الأساسيين. .
مكتبة علامات التنسيق/التدويل — تحتوي على مكتبات العلامات المستخدمة لتحليل البيانات. تقوم هذه العلامة بتحليل البيانات مثل التواريخ ومناطق الأماكن المختلفة وما إلى ذلك.
مكتبة علامات قاعدة البيانات - تحتوي على العلامات المستخدمة للوصول إلى قواعد بيانات SQL. عادةً ما تقوم هذه العلامات بإنشاء برامج نموذجية فقط. وذلك لأن معظم البرامج لن تتعامل مع الوصول إلى قاعدة البيانات مباشرة من صفحة JSP. يجب أن يتم تضمين الوصول إلى قاعدة البيانات في وحدات جافا للأعمال التي يمكن الوصول إليها عن طريق صفحات JSP.
مكتبة علامات XML - تحتوي على العلامات المستخدمة للوصول إلى عناصر XML. نظرًا لاستخدام XML على نطاق واسع في تطوير الويب، تعد معالجة XML ميزة مهمة في JSTL.
في هذه المقالة، سنقدم فقط مقدمة مختصرة عن العلامات الأساسية. سنلقي نظرة على مثال بسيط لكيفية التعامل مع البيانات التي يدخلها المستخدم في النموذج. قبل أن نبدأ في التحقق من البرنامج، يجب علينا أولاً أن ننظر إلى كيفية تعامل JSTL مع التعبيرات. تتم معالجة التعبير في JSTL باستخدام لغة التعبير EL، والتي يمكن استخدامها فقط في JSP2.0. في القسم التالي، سنقوم بفحص لغة التعبير EL.
لغة التعبير EL
أحد المكونات الرئيسية لـ JSP 2.0 هو لغة التعبير الجديدة المسماة EL. يستخدم EL على نطاق واسع في JSTL. ومع ذلك، من المهم أن نتذكر أن EL هي إحدى ميزات JSP وليست JSTL. يمكن أن يحتوي كود البرنامج النصي JSP المستخدم في JSP 2.0 على تعبيرات EL. يوضح السطر التالي من التعليمات البرمجية EL في كود البرنامج النصي JSP:
<p>
المبلغ الإجمالي، بما في ذلك الشحن، هو ${total+shipping}
</p>
كما ترون، فإن إضافة الإجمالي والشحن ينتج عنه HTML ويعرض قيمه في المتصفح. يمكن أيضًا استخدام هذه التعبيرات في علامات JSTL. إحدى المشاكل المهمة في JSTL1.0 هي أنه لا يمكن استخدام JSTL مع الإصدار JSP1.2. نظرًا لأن JSP1.2 لا يدعم EL، فمن الضروري توفير بعض علامات JSTL الإضافية لتسهيل استخدام EL. على سبيل المثال، إذا أردت عرض التعبير أعلاه باستخدام JSTL، فيمكنك استخدام الكود التالي.
<ص>
المبلغ الإجمالي، بما في ذلك الشحن، هو <c:out var="${total+shipping"/>
</p>
تجدر الإشارة إلى أن JSTL لا يتطلب تشغيل JSP2.0. يمكن تحقيق هذا المطلب من خلال توفير تسمية تعرض تعبير EL.
مثال JSTL سوف نقوم بدراسة مثال بسيط باستخدام JSTL. في هذا المثال، سنقوم بفحص عملية شائعة في تطبيقات الويب. سنرى كيفية إرسال نموذج (POST) والتعامل مع نتائج POST. رمز البرنامج كما يلي:
<%@ taglib uri=" http://java.sun.com/jstl/core " prefix="c" %>
<أتش تي أم أل>
<الرأس>
<title>إذا كان مع الجسم</title>
</الرأس>
<الجسم>
<c:if test="${pageContext.request.method=='POST'}">
<c:if test="${param.guess=='Java'}">لقد خمنت ذلك!
<br />
<br />
<br />
</c:if>
<c:if test="${param.guess!='Java'}">أنت مخطئ
<br />
<br />
<br />
</ج:إذا>
</c:if>
<formmethod="post">خمن لغة الكمبيوتر
أفكر في؟
<input type = "text" name = "guess" />
<input type = "submit" value = "حاول />
<br/>
</النموذج>
</الجسم>
</html>
تعرض صفحة الويب البسيطة هذه نموذجًا يطلب من المستخدم تخمين لغة الكمبيوتر التي يفكر فيها البرنامج. بالطبع، الكمبيوتر يفكر في "Java". تبدأ هذه الصفحة بتحديد "هل تم إرسالها". يسمح هذا بوضع النموذج والتعليمة البرمجية التي تعالج النموذج في نفس الصفحة. يتم تحقيق ذلك من خلال بيان JSTL if التالي.
<c:if test="${pageContext.request.method=='POST'}">
الآن ترى أن العلامة <c:if> تستخدم تعبير EL لتحديد ما إذا كانت طريقة الطلب هي POST. إذا تم نشر البيانات على الصفحة، فسيتم تخزين إدخال المستخدم لتخمينه في معلمة تسمى "ضيف". وذلك لأن "الضيف" هو اسم إدخال النموذج. علينا الآن التحقق مما إذا كانت هذه المعلمة تساوي "Java". يتم تحقيق ذلك من خلال علامة <c:if> التالية:
<c:if test="${param.guess=='Java'}">
لقد خمنت ذلك!
</ج:إذا>
كما ترى، إذا كان التعبير صحيحًا، فسيتم تنفيذ نص العلامة <c:if>. في هذه المقالة، بدأنا في فحص كيفية تثبيت JSTL وكيفية عمله، كما قدمنا بعض الأمثلة الصغيرة على JSTL لمساعدة الجميع على الفهم.
تتضمن العلامات الأساسية لـ JSTL أيضًا الحلقات والمكررات والمعالجة المتغيرة. باستخدام العلامات، يمكنك التكرار داخل المجموعات، والوصول إلى بيانات جلسة المستخدم، وتنفيذ المهام الأساسية الأخرى، والمزيد. بالإضافة إلى مكتبة العلامات الأساسية، توفر مكتبات XML وقاعدة البيانات وعلامات التنسيق أيضًا استخدامات أكثر تقدمًا.
(النهاية)
ملاحظة: لغة التعبير EL مترجمة إلى لغة التعبير EL هنا، وبعضها مترجم إلى لغة التعبير EL، وهو ما يعني نفس الشيء.
تمت الترجمة بواسطة Caiyi0903 (قوة الإرادة)، 2004.2.19