لم يتم العثور على JSP Googlemaps Taglib ، أين أخطأت؟
-
23-09-2019 - |
سؤال
أحاول إضافة خرائط Google على JSPs الخاصة بي باستخدام googlemaps taglib.
لقد أضفت هذا إلى بلدي maven pom
<dependency>
<groupId>com.lamatek</groupId>
<artifactId>googlemaps</artifactId>
<version>0.98c</version>
<scope>provided<>/scope
</dependency>
ثم شمل هذا googlemaps-0.98c
مكتبة ضمن مكتبات مشروعي في NetBeans ، نقرت واختارت الأيمن واختتم Manually install artifact
ويضع ملف googlemaps.jar الذي قمت بتنزيله.
ثم أضفت هذا إلى ملف taglibs الخاص بي
<%@taglib prefix="googlemaps" uri="/WEB-INF/googlemaps" %>
ثم أدرجت هذا حيث أريد بالفعل عرض خريطة على JSP الخاص بي
<googlemaps:map id="map" width="250" height="300" version="2" type="STREET"
zoom="12">
<googlemaps:key domain="localhost" key="xxxx"/>
<googlemaps:point id="point1" address="74 Connors Lane" city="Elkton"
state="MD" zipcode="21921" country="US"/>
<googlemaps:marker id="marker1" point="point1"/>
</googlemaps:map>
ولكن عندما أقوم بتحميل طلبي ، أحصل على الخطأ التالي.
org.apache.jasper.JasperException: /jsp/dashboard.jsp(1,1) /jsp/common/taglibs.jsp(6,56) PWC6117: File "/WEB-INF/googlemaps" not found
root cause
org.apache.jasper.JasperException: /jsp/common/taglibs.jsp(6,56) PWC6117: File "/WEB-INF/googlemaps" not found
هل فاتني شيء بسيط؟ أنا غير قادر على اكتشاف ما قمت به خطأ حتى الآن ..
المحلول
عموما عندما تفعل هذا:
<%@taglib prefix="googlemaps" uri="/WEB-INF/googlemaps" %>
أنت تحاول أساسًا أن تقول "يحتوي المجلد /الويب -Inf /GoogleMaps على مجموعة من ملفات .TAG للاستخدام" - وهو ما لا.
فقط تصفح الوثائق يؤكد هذا - إنه يقول إنه يجب أن تستخدم هذا (لاحظ استخدام امتداد TLD):
<%@ taglib uri="/WEB-INF/googlemaps.tld" prefix="googlemaps" %>
مصدر: http://www.lamatek.com/googlemaps/documentation.jsp#installation
نصائح أخرى
إذا قمت بتعيين نطاق على توفيره في POM الخاص بك ، فلن يتم تضمينه في ملف الحرب ولن يتم العثور على taglib. يجب عليك تغيير النطاق لتجميع أو وقت التشغيل.
يجب ألا يكون URI /web-inf/googlemaps.tld. يجب أن تطابق القيمة في <uri>
علامة في googlemaps.tld.
افتح googlemaps.jar ، والعثور على googlemaps.tld ، وابحث <uri>
بطاقة شعار. هذا هو URI الذي تحتاجه.
تحديث:
لقد قمت للتو بتنزيل googlemaps.jar. أنا غير صحيح ؛ URI هو في الواقع <uri>/WEB-INF/googlemaps.tld</uri>
.
هذا يشير إلى أنه يتعين عليك استخراج ملف googlemaps.tld ووضعه تحت /web-Inf في سياق الويب الخاص بك ، سواء كانت حربًا أو تم انفجارها.