سؤال بشأن JSP وجافا سكريبت
سؤال
أنا مبتدئ JSP، أفهم أن هناك نوع من ملفات Taglib كما أفهم أنها نوع من علامات JSP المخصصة. فيما يلي مقتطف من رمز JavaScript الذي لا أفهمه:
Polygon.viewPoint = function( index ){
window.${ec:safeId('polygon.view')}.Point( Page.ListofPoints.elements[index], index, 100 );
Page.changeRowColor('row_'+index);
Page.getProximityList( index );
Page.infoWindowLocation = Page.ListofPoints.elements[index];
}
سؤال JavaScript ليس حقا هذا مهم، ما يهمني هو هذا الجزء ${ec:safeId('poygon.view')}
أنا أفهم أن هذا الجزء هو نوع من المتغير، وهذا هو حقن من مكان ما. ربما من هنا <%@ taglib uri="/WEB-INF/tld/tagli-ec.tld" prefix="ec"%>
أو ربما لا .. يمكن لشخص ما يرجى توضيح ما هو مع هذا $ بعد النافذة .. ماذا يمثل؟
المحلول
لتبدأ، ${}
بناء الجملة هو إل (لغة التعبير) بناء الجملة. إذا كنت معتادا على Scriptlets، فهذا يشبه <%= %>
بناء جملة أو في حالة PHP <?= ?>
بناء الجملة (الذي يصبح مهتما في الإصدار المستقبلي على الرغم من). إنه يصل أساسا فقط ويطبع المتغيرات التي تسيطر عليها جانب الخادم على جانب الخادم قبل إرسال الاستجابة إلى جانب العميل. إذا قمت بإجراء "عرض مصدر" في WebBrowser الخاص بك، فسترى أنه محور بالفعل / تقييمه.
ثم هناك ${tagprefix:functionname}
بناء الجملة الذي يمثل الوظائف. وبعد إلى هذه النقطة، يتيح لك ذلك تحديد أساليب Java الثابتة التي تتخذ بعض الحجج وإرجاع النتيجة التي يمكن الوصول إليها بعد ذلك في El. Javaranch. لديه أسئلة وأجوبة جيدة جدا عن ذلك. JSTL على سبيل المثال لديه أيضا مفيدة جدا functions
taglib.