سؤال

أحاول إضافة خرائط 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 في سياق الويب الخاص بك ، سواء كانت حربًا أو تم انفجارها.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top