2010-03-30 3 views
1

J'essaie d'ajouter Google Maps sur mes JSP en utilisant le taglib Googlemaps.JSP Googlemaps taglib introuvable, où est-ce que je me suis trompé?

J'ai ajouté ceci dans mon maven pom

<dependency> 
     <groupId>com.lamatek</groupId> 
     <artifactId>googlemaps</artifactId> 
     <version>0.98c</version> 
     <scope>provided<>/scope 
    </dependency> 

Cela 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é.

J'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 application, j'obtiens 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 manqué quelque chose de simple? Je suis incapable de repérer ce que j'ai fait de mal jusqu'ici ..

+0

Incluez-vous la directive tag lib dans le fichier jsp? –

+0

Ouais, j'ai tous mes taglibs dans un fichier séparé, puis l'utiliser en haut de mes jsps: '<% @ include fichier ="/jsp/common/taglibs.jsp "%>' – Jimmy

+0

Est ' fourni <>/scope' une erreur copier/coller ou en fait ce qui est dans votre POM? Parce que ce n'est pas un XML valide. –

Répondre

2

En général, quand vous faites ceci:

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

Vous essayez de dire essentiellement « le dossier/WEB-INF/googlemaps a un tas de fichiers .tag pour une utilisation » - que vous ne faites.

navigation Juste la documentation confirme cela - 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

1

Si vous définissez la portée à fourni dans votre pom il n'est pas inclus dans le fichier war et le taglib ne sera pas trouvé. Vous devez modifier la portée pour la compilation ou l'exécution.

+0

Salut, je viens d'essayer votre suggestion, mais il donne la même erreur que posté dans ma question. Merci – Jimmy

1

L'URI ne doit pas être/WEB- INF/googlemaps.tld. Il doit correspondre à la valeur de la balise <uri> dans googlemaps.tld.

Ouvrez le fichier googlemaps.jar, recherchez le fichier googlemaps.tld et recherchez le tag <uri>. C'est l'URI dont vous avez besoin.

MISE À JOUR:

Je viens de télécharger le googlemaps.jar. Je suis incorrect l'URI est en effet <uri>/WEB-INF/googlemaps.tld</uri>.

Cela suggère que vous devez extraire le fichier googlemaps.tld et le placer sous/WEB-INF dans votre contexte Web, qu'il soit WAR ou éclaté.

+0

L'extraction n'est pas nécessaire si JAR contenant la ressource est déjà dans classpath (c'est-à-dire '/ WEB-INF/lib'). – BalusC

+0

Alors, comment expliquer autrement "Fichier"/WEB-INF/googlemaps "pas trouvé"? Cela semble être quelque chose à essayer. Je suis d'accord que cela ne devrait pas être nécessaire, parce que je n'extrait pas .tld pour JSTL, mais ce cas particulier semble le justifier. Les URI JSTL sont http; celui-ci est local à l'application. – duffymo

Questions connexes