Jstl

Olá estou estudando Java, e tenho duvidas sobre a utlização de taglib

<%@ taglib uri=“http://java.sun.com/jsp/jstl/core” prefix=“c” %>

o que é esse uri???
Não deveria estar local na minha maquina???

baixei do site da jakarta o jstl 1.2 mais não sei o que fazer com ele…

augustopovoa,

Você pode usar um caminho local dentro do atributo URI da diretiva taglib. Você teria que apontar para onde está o arquivo tld.

Geralmente colocamos os arquivos TLDs dentro da pasta WEB-INF.
/aplicacao/WEB-INF/c.tld
Então na URI teriamos
<%@ taglib uri="/WEB-INF/c.tld" prefix=“c” %>

Você baixou o JSTL 1.2 ele vem com um monte de coisas que quando você ficar mais avançado vão ser interessantes. Por enquanto basta colocar o jstl.jar e o standard.jar na pasta lib da sua aplicação ou do seu conteiner. E colocar os arquivos TLDs que você for usar na pasta WEB-INF.

Debugando o que eu disse:
Descompacte o arquivo que você baixou e procure a pasta lib (ou jars). Procure o arquivo standard.jar e jstl.jar e mova para a pasta lib da sua aplicação /aplicacao/WEB-INF/lib/. Procure na pasta descompactada os arquivos que tem extensão .tld e coloque-os dentro da pasta WEB-INF. E provavelmente você estará pronto pra usar.

Dica: Crie uma pasta chamada tlds dentro da pasta WEB-INF e coloque os TLDs lá. E aí se refira aos tlds /WEB-INF/tlds/nome.tld

EDIT: Se mesmo assim não der certo, está faltando configurar o web.xml

[quote=Cocota]augustopovoa,

Você pode usar um caminho local dentro do atributo URI da diretiva taglib. Você teria que apontar para onde está o arquivo tld.

Geralmente colocamos os arquivos TLDs dentro da pasta WEB-INF.
/aplicacao/WEB-INF/c.tld
Então na URI teriamos
<%@ taglib uri="/WEB-INF/c.tld" prefix=“c” %>

Você baixou o JSTL 1.2 ele vem com um monte de coisas que quando você ficar mais avançado vão ser interessantes. Por enquanto basta colocar o jstl.jar e o standard.jar na pasta lib da sua aplicação ou do seu conteiner. E colocar os arquivos TLDs que você for usar na pasta WEB-INF.

Debugando o que eu disse:
Descompacte o arquivo que você baixou e procure a pasta lib (ou jars). Procure o arquivo standard.jar e jstl.jar e mova para a pasta lib da sua aplicação /aplicacao/WEB-INF/lib/. Procure na pasta descompactada os arquivos que tem extensão .tld e coloque-os dentro da pasta WEB-INF. E provavelmente você estará pronto pra usar.

Dica: Crie uma pasta chamada tlds dentro da pasta WEB-INF e coloque os TLDs lá. E aí se refira aos tlds /WEB-INF/tlds/nome.tld

EDIT: Se mesmo assim não der certo, está faltando configurar o web.xml[/quote]

Valew cara…
Parece que falta configurar o WEB.xml mesmo…
Me apresenta o erro :

description The server encountered an internal error () that prevented it from fulfilling this request.

exception

org.apache.jasper.JasperException: File “/WEB-INF/TDLs/c.tld” not found
org.apache.jasper.compiler.DefaultErrorHandler.jspError(DefaultErrorHandler.java:50)
org.apache.jasper.compiler.ErrorDispatcher.dispatch(ErrorDispatcher.java:407)
org.apache.jasper.compiler.ErrorDispatcher.jspError(ErrorDispatcher.java:114)
org.apache.jasper.compiler.TagLibraryInfoImpl.(TagLibraryInfoImpl.java:159)
org.apache.jasper.compiler.Parser.parseTaglibDirective(Parser.java:423)
org.apache.jasper.compiler.Parser.parseDirective(Parser.java:492)
org.apache.jasper.compiler.Parser.parseElements(Parser.java:1552)
org.apache.jasper.compiler.Parser.parse(Parser.java:126)
org.apache.jasper.compiler.ParserController.doParse(ParserController.java:211)
org.apache.jasper.compiler.ParserController.parse(ParserController.java:100)
org.apache.jasper.compiler.Compiler.generateJava(Compiler.java:146)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:286)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:267)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:255)
org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:563)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:293)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)

[quote=Cocota]augustopovoa,

Você pode usar um caminho local dentro do atributo URI da diretiva taglib. Você teria que apontar para onde está o arquivo tld.

Geralmente colocamos os arquivos TLDs dentro da pasta WEB-INF.
/aplicacao/WEB-INF/c.tld
Então na URI teriamos
<%@ taglib uri="/WEB-INF/c.tld" prefix=“c” %>

Você baixou o JSTL 1.2 ele vem com um monte de coisas que quando você ficar mais avançado vão ser interessantes. Por enquanto basta colocar o jstl.jar e o standard.jar na pasta lib da sua aplicação ou do seu conteiner. E colocar os arquivos TLDs que você for usar na pasta WEB-INF.

Debugando o que eu disse:
Descompacte o arquivo que você baixou e procure a pasta lib (ou jars). Procure o arquivo standard.jar e jstl.jar e mova para a pasta lib da sua aplicação /aplicacao/WEB-INF/lib/. Procure na pasta descompactada os arquivos que tem extensão .tld e coloque-os dentro da pasta WEB-INF. E provavelmente você estará pronto pra usar.

Dica: Crie uma pasta chamada tlds dentro da pasta WEB-INF e coloque os TLDs lá. E aí se refira aos tlds /WEB-INF/tlds/nome.tld

EDIT: Se mesmo assim não der certo, está faltando configurar o web.xml[/quote]

Valew cara…
Parece que falta configurar o WEB.xml mesmo…
Me apresenta o erro :

description The server encountered an internal error () that prevented it from fulfilling this request.

exception

org.apache.jasper.JasperException: File “/WEB-INF/TDLs/c.tld” not found
org.apache.jasper.compiler.DefaultErrorHandler.jspError(DefaultErrorHandler.java:50)
org.apache.jasper.compiler.ErrorDispatcher.dispatch(ErrorDispatcher.java:407)
org.apache.jasper.compiler.ErrorDispatcher.jspError(ErrorDispatcher.java:114)
org.apache.jasper.compiler.TagLibraryInfoImpl.(TagLibraryInfoImpl.java:159)
org.apache.jasper.compiler.Parser.parseTaglibDirective(Parser.java:423)
org.apache.jasper.compiler.Parser.parseDirective(Parser.java:492)
org.apache.jasper.compiler.Parser.parseElements(Parser.java:1552)
org.apache.jasper.compiler.Parser.parse(Parser.java:126)
org.apache.jasper.compiler.ParserController.doParse(ParserController.java:211)
org.apache.jasper.compiler.ParserController.parse(ParserController.java:100)
org.apache.jasper.compiler.Compiler.generateJava(Compiler.java:146)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:286)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:267)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:255)
org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:563)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:293)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)

Meu codigo:

<%@ taglib prefix=“c” uri="/WEB-INF/TDLs/c.tld" %>

">link para bemvindo.jsp

Beleza augusto,

Você colocou os arquivos .tld na pasta TLDs, né?

Agora é só preencher o web.xml,

Oia um web.xml meu aqui:

<jsp-config>
        <taglib>
            <taglib-uri>/WEB-INF/tlds/struts-bean.tld</taglib-uri>
            <taglib-location>/WEB-INF/tlds/struts-bean.tld</taglib-location>
        </taglib>
        <taglib>
            <taglib-uri>/WEB-INF/tlds/struts-html.tld</taglib-uri>
            <taglib-location>/WEB-INF/tlds/struts-html.tld</taglib-location>
        </taglib>
        <taglib>
            <taglib-uri>/WEB-INF/tlds/struts-logic.tld</taglib-uri>
            <taglib-location>/WEB-INF/tlds/struts-logic.tld</taglib-location>
        </taglib>
        <taglib>
            <taglib-uri>/WEB-INF/tlds/struts-nested.tld</taglib-uri>
            <taglib-location>/WEB-INF/tlds/struts-nested.tld</taglib-location>
        </taglib>
        <taglib>
            <taglib-uri>/WEB-INF/tlds/struts-tiles.tld</taglib-uri>
            <taglib-location>/WEB-INF/tlds/struts-tiles.tld</taglib-location>
        </taglib>
        <taglib>
            <taglib-uri>/WEB-INF/tlds/c.tld</taglib-uri>
            <taglib-location>/WEB-INF/tlds/c.tld</taglib-location>
        </taglib>
</jsp-config>