JSP Googlemaps taglib que no se encuentra, donde he equivocado ido?
-
23-09-2019 - |
Pregunta
Estoy tratando de añadir mapas de Google en mis páginas JSP utilizando el taglib Googlemaps.
He añadido este experto en mi pom
<dependency>
<groupId>com.lamatek</groupId>
<artifactId>googlemaps</artifactId>
<version>0.98c</version>
<scope>provided<>/scope
</dependency>
Esto incluye entonces la biblioteca googlemaps-0.98c
bajo mis bibliotecas de proyecto en NetBeans, que hace clic derecho y Manually install artifact
seleccionado y encuentra el archivo googlemaps.jar que había descargado.
He añadido a continuación, esto en mi archivo taglibs
<%@taglib prefix="googlemaps" uri="/WEB-INF/googlemaps" %>
Y a continuación, han incluido este en el que realmente quiero mostrar un mapa en mi 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>
Pero cuando cargo mi aplicación, me sale el siguiente error.
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
¿Me he perdido algo simple? Soy incapaz de ver lo que he hecho mal hasta ahora ..
Solución
En general, cuando se hace esto:
<%@taglib prefix="googlemaps" uri="/WEB-INF/googlemaps" %>
Usted está básicamente tratando de decir "la carpeta / WEB-INF / googlemaps tiene un montón de archivos .tag de empleo" -. Cuáles no
Simplemente navegar por la documentación confirma esto - dice que usted debe utilizar este (tenga en cuenta el uso de la extensión TLD):
<%@ taglib uri="/WEB-INF/googlemaps.tld" prefix="googlemaps" %>
Fuente: http://www.lamatek.com/GoogleMaps/documentation.jsp #installation
Otros consejos
Si define el alcance de proporcionada en su pom no se incluye en el archivo de la guerra y la taglib no se encontrará. Debe cambiar el alcance para compilar o en tiempo de ejecución.
El URI no debe ser /WEB-INF/googlemaps.tld. Debe coincidir con el valor en la etiqueta <uri>
en el googlemaps.tld.
Abrir el googlemaps.jar, encontrar el googlemaps.tld, y encontrar la etiqueta <uri>
. Ese es el URI que necesita.
ACTUALIZACIÓN:
Me acaba de descargar el googlemaps.jar. Estoy incorrecta; el URI es de hecho <uri>/WEB-INF/googlemaps.tld</uri>
.
Esto sugiere que hay que extraer el archivo googlemaps.tld y ponerlo bajo / WEB-INF en su contexto web, ya sea de guerra o explotado.