Pergunta

Estou tentando adicionar o Google Maps aos meus JSPs usando o GoogleMaps Taglib.

Eu adicionei isso ao meu maven pom

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

Isso então incluiu o googlemaps-0.98c Biblioteca sob minhas bibliotecas de projeto em Netbeans, cliquei com o botão direito e selecionado Manually install artifact e localizou o arquivo googlemaps.jar que eu havia baixado.

Eu então adicionei isso ao meu arquivo taglibs

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

E então incluía isso onde eu realmente quero mostrar um mapa no meu 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>

Mas quando carrego meu aplicativo, recebo o seguinte erro.

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

Eu perdi algo simples? Não consigo identificar o que fiz de errado até agora ..

Foi útil?

Solução

Geralmente quando você faz isso:

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

Você está basicamente tentando dizer "a pasta /web -inf /googlemaps possui vários arquivos .tag para uso" - o que você não tem.

Basta navegar na documentação confirma isso - diz que você deve estar usando isso (observe o uso da extensão do TLD):

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

Fonte: http://www.lamatek.com/googlemaps/documentation.jsp#installation

Outras dicas

Se você definir o escopo como fornecido em seu POM, ele não estiver incluído no arquivo de guerra e o taglib não será encontrado. Você deve alterar o escopo para compilar ou tempo de execução.

O URI não deve ser /web-inf/googlemaps.tld. Deve corresponder ao valor no <uri> Tag no googlemaps.tld.

Abra o googlemaps.jar, encontre o googlemaps.tld e encontre o <uri> marcação. Esse é o URI que você precisa.

ATUALIZAR:

Acabei de baixar o googlemaps.jar. Estou incorreto; O URI é de fato <uri>/WEB-INF/googlemaps.tld</uri>.

Isso sugere que você precisa extrair o arquivo googlemaps.tld e colocá-lo em /web-inf em seu contexto da web, seja guerra ou explodido.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top