Ajuda para configurar JSTL

2 respostas
E

Galera, estou com problemas para utilizar o JSTL…
Fiz um programinha que usava jsp… e funciona perfeitamente…

<%@ page import="br.com.Farmacia.beans.Plantas"%>
<%@ page import="java.util.List"%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<TITLE> Resultado da Pesquisa </TITLE>
<META NAME="Generator" CONTENT="EditPlus">
<META NAME="Author" CONTENT="">
<META NAME="Keywords" CONTENT="">
<META NAME="Description" CONTENT="">
</HEAD>

<BODY>
<form name="form1" method="post">
<TABLE width="100%">
<TR>
   <TD colspan=3 align="center"><font size="6" face="Verdana, Arial, Helvetica, sans-serif" color="#006666">Resultado da Pesquisa</font></TD>
</TR>
<TR>
   <TD colspan=3 align="center"><hr></TD>
</TR>

<TR>
   <td width="42%"><font color="#336666" face="Verdana, Arial, Helvetica, sans-serif"><strong>Nome Popular</strong></font></td>
   <td width="42%"><font color="#336666" face="Verdana, Arial, Helvetica, sans-serif"><strong>Nome Científico</strong></font></td>
   <td width="16%"><font color="#336666" face="Verdana, Arial, Helvetica, sans-serif"><strong>Foto</strong></font></td>
</TR>
<TR>
   <TD colspan=3 align="center" valign="top"><hr></TD>
</TR>
<%
String contexto = request.getContextPath();
List lPlantas = (List) request.getAttribute("pesquisaPlantas");
for(int i = 0; i < lPlantas.size();i++){
Plantas p = (Plantas)lPlantas.get(i);
%>
<TR>
   <TD><font face="Verdana, Arial, Helvetica, sans-serif" size="2">
    <strong><%=p.getNomePop()%></strong></font></TD>
   <TD><font face="Verdana, Arial, Helvetica, sans-serif" size="2">
    <strong><%=p.getNomeCie()%></strong></font></TD>
   <TD><IMG SRC='<%=contexto%>/fotos/<%=p.getFoto()%>' width="50" height="50" /></TD>
</TR>
<%}%>
</TABLE>
</form>
<TR>
   <TD colspan=3 align="center"><hr></TD>
</TR>
<p align="center">
   <font face="Verdana, Arial, Helvetica, sans-serif"><a href="Home.htm"><font color="#006666"><strong>Home</strong></font></a></font>
   <font face="Verdana, Arial, Helvetica, sans-serif"><a href="Pesquisa.htm"><font color="#006666"><strong>Nova Pesquisa</strong></font></a></font>
</p>
</BODY>
</HTML>

queria usar a partir de agora JSTL, mas não sei mto bem como proceder… fiz o seguinte até agora…
puxei do site da jakarta o jakarta-taglibs-standard-1.1.2
descompactei a pasta no Arquivos de programas.

o meu web.xml mudei para

<?xml version="1.0" encoding="ISO-8859-1"?>

<!DOCTYPE web-app
PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
"http://java.sun.com/dtd/web-app_2_3.dtd">

<web-app>

   <servlet>
     <servlet-name>deleteAdminServlet</servlet-name>
     <servlet-class>br.com.Farmacia.view.deleteAdminServlet</servlet-class>
   </servlet>
  
   <servlet>
     <servlet-name>deletePlantaServlet</servlet-name>
     <servlet-class>br.com.Farmacia.view.deletePlantaServlet</servlet-class>
   </servlet>

   <servlet>
     <servlet-name>insertAdminServlet</servlet-name>
     <servlet-class>br.com.Farmacia.view.insertAdminServlet</servlet-class>
   </servlet>

   <servlet>
     <servlet-name>insertPlantaServlet</servlet-name>
     <servlet-class>br.com.Farmacia.view.insertPlantaServlet</servlet-class>
   </servlet>

   <servlet>
     <servlet-name>loginAdminServlet</servlet-name>
     <servlet-class>br.com.Farmacia.view.loginAdminServlet</servlet-class>
   </servlet>

   <servlet>
     <servlet-name>pesquisaPlantaServlet</servlet-name>
     <servlet-class>br.com.Farmacia.view.pesquisaPlantaServlet</servlet-class>
   </servlet>

   <servlet>
     <servlet-name>updateAdminServlet</servlet-name>
     <servlet-class>br.com.Farmacia.view.updateAdminServlet</servlet-class>
   </servlet>

   <servlet>
     <servlet-name>updatePlantaServlet</servlet-name>
     <servlet-class>br.com.Farmacia.view.updatePlantaServlet</servlet-class>
   </servlet>
  
   <servlet>
     <servlet-name>listaPlantasServlet</servlet-name>
     <servlet-class>br.com.Farmacia.view.listaPlantasServlet</servlet-class>
   </servlet>

   <servlet>
     <servlet-name>listaAdminServlet</servlet-name>
     <servlet-class>br.com.Farmacia.view.listaAdminServlet</servlet-class>
   </servlet>

   <servlet>
     <servlet-name>pesquisaPlantaExclusaoServlet</servlet-name>
     <servlet-class>br.com.Farmacia.view.pesquisaPlantaExclusaoServlet</servlet-class>
   </servlet>
   

   <servlet-mapping>
     <servlet-name>deleteAdminServlet</servlet-name>
     <url-pattern>/deleteAdminServlet</url-pattern>
   </servlet-mapping>

   <servlet-mapping>
     <servlet-name>deletePlantaServlet</servlet-name>
     <url-pattern>/deletePlantaServlet</url-pattern>
   </servlet-mapping>

   <servlet-mapping>
     <servlet-name>insertAdminServlet</servlet-name>
     <url-pattern>/insertAdminServlet</url-pattern>
   </servlet-mapping>

   <servlet-mapping>
     <servlet-name>insertPlantaServlet</servlet-name>
     <url-pattern>/insertPlantaServlet</url-pattern>
   </servlet-mapping>

   <servlet-mapping>
     <servlet-name>loginAdminServlet</servlet-name>
     <url-pattern>/loginAdminServlet</url-pattern>
   </servlet-mapping>

   <servlet-mapping>
     <servlet-name>pesquisaPlantaServlet</servlet-name>
     <url-pattern>/pesquisaPlantaServlet</url-pattern>
   </servlet-mapping>

   <servlet-mapping>
     <servlet-name>updateAdminServlet</servlet-name>
     <url-pattern>/updateAdminServlet</url-pattern>
   </servlet-mapping>

   <servlet-mapping>
     <servlet-name>updatePlantaServlet</servlet-name>
     <url-pattern>/updatePlantaServlet</url-pattern>
   </servlet-mapping>

   <servlet-mapping>
     <servlet-name>listaPlantasServlet</servlet-name>
     <url-pattern>/listaPlantasServlet</url-pattern>
   </servlet-mapping>
   
   <servlet-mapping>
     <servlet-name>listaAdminServlet</servlet-name>
     <url-pattern>/listaAdminServlet</url-pattern>
   </servlet-mapping>

   <servlet-mapping>
     <servlet-name>pesquisaPlantaExclusaoServlet</servlet-name>
     <url-pattern>/pesquisaPlantaExclusaoServlet</url-pattern>
   </servlet-mapping>
   
   <taglib>
      <taglib-uri>http://java.sun.com/jsp/jstl/core</taglib-uri>
      <taglib-location>/WEB-INF/tld/c.tld</taglib-location>
   </taglib> 

</web-app>

na pasta Web-inf adicionei a pasta tld e lib, com seus respectivos arquivos que estão dentro das pastas… Adicionei External jar(estou usando o eclipse).
e mudei a minha pagina que usava jsp para o seguinte

<%@ taglib uri="http://java.sun.com/jstl/core" prefix="c" %>
<%@ page import="br.com.Farmacia.beans.Plantas"%>
<%@ page import="java.util.List"%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<TITLE> Resultado da Pesquisa </TITLE>
<META NAME="Generator" CONTENT="EditPlus">
<META NAME="Author" CONTENT="">
<META NAME="Keywords" CONTENT="">
<META NAME="Description" CONTENT="">
</HEAD>

<BODY>
<form name="form1" method="post">
<TABLE width="100%">
<TR>
   <TD colspan=3 align="center"><font size="6" face="Verdana, Arial, Helvetica, sans-serif" color="#006666">Resultado da Pesquisa</font></TD>
</TR>
<TR>
   <TD colspan=3 align="center"><hr></TD>
</TR>

<TR>
   <td width="42%"><font color="#336666" face="Verdana, Arial, Helvetica, sans-serif"><strong>Nome Popular</strong></font></td>
   <td width="42%"><font color="#336666" face="Verdana, Arial, Helvetica, sans-serif"><strong>Nome Científico</strong></font></td>
   <td width="16%"><font color="#336666" face="Verdana, Arial, Helvetica, sans-serif"><strong>Foto</strong></font></td>
</TR>
<TR>
   <TD colspan=3 align="center" valign="top"><hr></TD>
</TR>
<c:forEach var="pesquisaPlantas" items="${pesquisaPlantas}"> // tenta aspas duplas aqui
         <tr>
          <td><c:out value="${pesquisaPlantas.nomePop}"/></td>      
            <td><c:out value="${pesquisaPlantas.nomeCie}"/></td>
         <td><c:out value="${pesquisaPlantas.foto}"/></td>
         </tr>
      </c:forEach>
</TABLE>
</form>
<TR>
   <TD colspan=3 align="center"><hr></TD>
</TR>
<p align="center">
   <font face="Verdana, Arial, Helvetica, sans-serif"><a href="default.htm"><font color="#006666"><strong>Home</strong></font></a></font>
   <font face="Verdana, Arial, Helvetica, sans-serif"><a href="Pesquisa.htm"><font color="#006666"><strong>Nova Pesquisa</strong></font></a></font>
</p>
</BODY>
</HTML>

vocês poderiam me dar uma força??
obrigado

2 Respostas

fabiozoroastro

Pronto, você já pode usar as tags JSTL na sua página:
por exemplo pra exibir algum valor:

<c:out value="${p.nomePop}" />

Para acessar os métodos get você não precisar escrever get não, basta colocar o nome do atributo como eu fiz ali em cima.

Entendeu?
Dá uma olhada na especificação:
http://java.sun.com/products/jsp/jstl/1.1/docs/api/index.html

Abraços.

E

E aí Fabio,
então kra, pq será então que no meu exemplo abaixo está dando erro?

org.apache.jasper.JasperException: /resultadoPesquisa.jsp(24,0) No such tag forEach in the tag library imported with prefix c

estou usando o dreamweaver para fazer minha página, não sei se tem alguma coisa a ver mas o meu forEach fica sublinhado indicando erro… que não este comando não pode ser reconhecido por IE 5.0…etc…

Criado 29 de agosto de 2006
Ultima resposta 29 de ago. de 2006
Respostas 2
Participantes 2