JSP taglib Googlemaps non trovato, dove ho sbagliato?
-
23-09-2019 - |
Domanda
Sto cercando di aggiungere Google Maps sui miei JSP utilizzando la taglib Googlemaps.
Ho aggiunto questo nel mio esperto di pom
<dependency>
<groupId>com.lamatek</groupId>
<artifactId>googlemaps</artifactId>
<version>0.98c</version>
<scope>provided<>/scope
</dependency>
Questa quindi incluso la libreria googlemaps-0.98c
sotto le mie librerie di progetto in NetBeans, ho ragione cliccato e Manually install artifact
selezionato e trova il file googlemaps.jar avevo scaricato.
Ho poi aggiunto questo nelle mie taglibs file
<%@taglib prefix="googlemaps" uri="/WEB-INF/googlemaps" %>
E hanno poi incluso questo, dove ho effettivamente voglio mostrare una mappa sul mio 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>
Ma quando carico la mia applicazione, ottengo il seguente errore.
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
Ho perso qualcosa di semplice? Sono in grado di individuare ciò che ho fatto di sbagliato finora ..
Soluzione
In genere, quando si esegue questa operazione:
<%@taglib prefix="googlemaps" uri="/WEB-INF/googlemaps" %>
Si sono fondamentalmente cercando di dire "la cartella / WEB-INF / Googlemaps ha un gruppo di file .tag per l'uso" -., Che non si fanno
Proprio navigando la documentazione conferma - si dice che si dovrebbe usare questa (si noti l'utilizzo dell'estensione TLD):
<%@ taglib uri="/WEB-INF/googlemaps.tld" prefix="googlemaps" %>
Fonte: http://www.lamatek.com/GoogleMaps/documentation.jsp #installation
Altri suggerimenti
Se si imposta campo di applicazione a fornite nel pom non è incluso nel file di guerra e non sarà trovato la taglib. Si dovrebbe modificare l'ambito di compilare o di esecuzione.
L'URI non deve essere /WEB-INF/googlemaps.tld. Esso dovrebbe corrispondere al valore nel tag <uri>
nel googlemaps.tld.
Aprire il googlemaps.jar, trovare la googlemaps.tld, e trovare il tag <uri>
. Questo è l'URI è necessario.
UPDATE:
Ho appena scaricato il googlemaps.jar. Sono errato; l'URI è infatti <uri>/WEB-INF/googlemaps.tld</uri>
.
Questo suggerisce che è necessario estrarre il file googlemaps.tld e metterlo sotto / WEB-INF nel contesto web, sia che si tratti di guerra o esploso.