Вопрос

Я пытаюсь добавить Карты Google в свои JSP, используя taglib Googlemaps.

Я добавил это в свой 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" %>

По сути, вы пытаетесь сказать "в папке / WEB-INF / googlemaps есть куча файлов .tag для использования", чего вы не делаете.

Простой просмотр документации подтверждает это - там говорится, что вы должны использовать это (обратите внимание на использование расширения tld):

<%@ taglib uri="/WEB-INF/googlemaps.tld" prefix="googlemaps" %> 

Источник: http://www.lamatek.com/GoogleMaps/documentation.jsp#installation

Другие советы

Если вы установите scope равным предоставленному в вашем pom, он не будет включен в файл war, и taglib не будет найден.Вам следует изменить область действия на compile или runtime.

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 в вашем веб-контексте, будь то WAR или exploded.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top