JSP Googlemaps taglib не найден, где я ошибся?
-
23-09-2019 - |
Вопрос
Я пытаюсь добавить Карты 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.