English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
واجهت في التدريب الخاص بي ظاهرة تعامل تعبير EL كحرفية وليس تحليلها بشكل صحيح. كان يستخدم في المشروع Javaee5،
web.xml
<web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" >
تعبر EL لم يتم تحليلها بشكل صحيح أبدًا، وتم التعامل معها كحرفية.
بعد ذلك، تم تعديل web.xml إلى
<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">
بعد إعادة التشغيل، بدء تشغيل Tomcat، تم تحليل تعبير EL بشكل صحيح.
بعد ذلك، تعرفت على المزيد من المعلومات:
هذه هي خاصية جديدة في Jsp2.0:
باء) إدخال لغة التعبير (EL)
هذا هو أحد خصائص JSP 2.0 وهو دعم لغة التعبير (expression language). يمكن استخدام لغة تعبير JSTL لاستخدام صيغة العلامات لسهولة الوصول إلى الأجهزة المخفية لـ JSP ووحدات JavaBeans، توفر العلامات الأساسية في JSTL وظائف التحكم في العملية والتحكم في الدورات. يمكن للعلامات المعدة مسبقًا أيضًا تنفيذ وظائف مخصصة، لذا يمكن للـ JSP تقريبًا استبدال أي وظيفة يمكن تنفيذها من قبل servlet. يُنصح في JSP 2.0 باستخدام EL قدر الإمكان لجعل صيغة JSP أكثر تنسيقًا.
يمكن التحكم في استخدام EL لمجموعة من JSP في <jsp-property-group> من ملف web.xml، ويمكن أيضًا تحديد في كل JSP ما إذا كانت تستخدم EL أم لا. يتم استخدام خاصية isELIgnored في directive page لتحديد ما إذا كان يتم تجاهلها. النمط هو:
<%@ page isELIgnored="true|false"%>
إذا تم تعيينه إلى الحقيقة، يتم معالجة التعبيرات في JSP كـ نص. على سبيل المثال، التعبير التالي <p>${2000 % 20}</p> يخرج ${2000 % 20} عند isELIgnored="true"، ويخرج 100 عند isELIgnored="false". الإعداد الافتراضي للWeb container هو isELIgnored="false".
على الرغم من أن JSP 2.0 يمكن أن يستخدم لغة التعبير بشكل كامل في JSP لتجنب scriptlet، يجب أن يتم اختيار الطريقة المناسبة بناءً على متطلبات وظيفة البرنامج ومستوى مهارة المبرمج. يمكن أن تكون صفحات JSP التي تستخدم لغة التعبير أكثر راحة وتنظيماً، ولكن يمكن أن تكون بطيئة عند التحويل الأولي للعلامات، وبالتالي، يجب أن يتم اختيار الطريقة المناسبة بناءً على ظروف المبرمج.
بمعنى أن الإعداد الافتراضي في JavaEE4 هو <%@ page isELIgnored="false"%>، بينما قد يكون الإعداد الافتراضي في JavaEE5 هو <%@ page isELIgnored="true"%>لذلك، في JavaEE5، يمكننا استخدام إعداد <%@ page isELIgnored="false"%> في صفحة JSP لتعيين تحليل التعبيرات EL بشكل طبيعي .
هذا المقال الذي يحتوي على تعبير EL في صفحة JSP يتم معالجته كـ نص ويتم عرض القيمة بشكل غير صحيح هو كل المحتوى الذي أشاركه معكم. أتمنى أن يكون هذا مرجعًا لكم، وأتمنى أيضًا أن تشجعوا موقع تعليمات النفخ.