JSP Googlemaps taglib pas trouvé, où ai-je passé?
-
23-09-2019 - |
Question
Je suis en train d'ajouter Google Maps sur mes pages JSP en utilisant le taglib Googlemaps.
J'ai ajouté ceci dans mon maven pom
<dependency>
<groupId>com.lamatek</groupId>
<artifactId>googlemaps</artifactId>
<version>0.98c</version>
<scope>provided<>/scope
</dependency>
comprenait alors la bibliothèque googlemaps-0.98c
sous mes bibliothèques de projet dans NetBeans, je faites un clic droit et choisi Manually install artifact
et localisé le fichier googlemaps.jar j'avais téléchargé.
Je l'ai ensuite ajouté ceci dans mon taglibs fichier
<%@taglib prefix="googlemaps" uri="/WEB-INF/googlemaps" %>
Et ont ensuite inclus ce où je veux vraiment montrer une carte sur mon 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>
Mais quand je charge ma demande, je reçois l'erreur suivante.
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
Ai-je raté quelque chose de simple? Je suis incapable de repérer ce que j'ai fait de mal à ce jour ..
La solution
En général, quand vous faites ceci:
<%@taglib prefix="googlemaps" uri="/WEB-INF/googlemaps" %>
Vous êtes essentiellement en train de dire « le dossier / WEB-INF / googlemaps a un tas de fichiers .tag pour une utilisation » -. Que vous ne faites
Il suffit de navigation la documentation confirme - il dit que vous devez utiliser cette (notez l'utilisation de l'extension tld):
<%@ taglib uri="/WEB-INF/googlemaps.tld" prefix="googlemaps" %>
Source: http://www.lamatek.com/GoogleMaps/documentation.jsp #installation
Autres conseils
Si vous définissez la portée à condition dans votre pom elle ne figure pas dans le fichier de la guerre et la taglib ne sera pas trouvée. Vous devez modifier la portée de compiler ou de l'exécution.
L'URI ne doit pas être /WEB-INF/googlemaps.tld. Il doit correspondre à la valeur dans la balise <uri>
dans le googlemaps.tld.
Ouvrez le googlemaps.jar, trouver le googlemaps.tld, et trouver la balise <uri>
. C'est l'URI dont vous avez besoin.
Mise à jour:
Je viens de télécharger le googlemaps.jar. Je me trompe; l'URI est en effet <uri>/WEB-INF/googlemaps.tld</uri>
.
Cela suggère que vous devez extraire le fichier googlemaps.tld et le mettre sous / WEB-INF dans votre contexte Web, que ce soit WAR ou explosa.