Probleminha com JSP

Olá galera .e.stou estudando JSP mais estou com um probleminha aqui…
quem pode me ajudar eu fico grato…
desde já agradeço

esta dando esse erro

[code]
type Exception report

message

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

exception

org.apache.jasper.JasperException: An exception occurred processing JSP page /products.jsp at line 24

21:

Price
22: In Stock
23:
24: <c:forEach items="${productsBean.products}" var=“products”>
25:
26: ${products.name}
27: ${products.price}

Stacktrace:
org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:505)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:416)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:337)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:266)
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)



root cause 

javax.el.ELException: Error reading 'products' on type devmedia.mycomplete.control.ProductControl
	javax.el.BeanELResolver.getValue(BeanELResolver.java:66)
	javax.el.CompositeELResolver.getValue(CompositeELResolver.java:53)
	org.apache.el.parser.AstValue.getValue(AstValue.java:114)
	org.apache.el.ValueExpressionImpl.getValue(ValueExpressionImpl.java:186)
	org.apache.jasper.runtime.PageContextImpl.proprietaryEvaluate(PageContextImpl.java:923)
	org.apache.jsp.products_jsp._jspx_meth_c_005fforEach_005f0(products_jsp.java:120)
	org.apache.jsp.products_jsp._jspService(products_jsp.java:92)
	org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
	org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:374)
	org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:337)
	org.apache.jasper.servlet.JspServlet.service(JspServlet.java:266)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:803)


root cause 

java.lang.NullPointerException
	devmedia.mycomplete.control.ProductControl.getProducts(ProductControl.java:45)
	sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
	sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
	java.lang.reflect.Method.invoke(Method.java:597)
	javax.el.BeanELResolver.getValue(BeanELResolver.java:62)
	javax.el.CompositeELResolver.getValue(CompositeELResolver.java:53)
	org.apache.el.parser.AstValue.getValue(AstValue.java:114)
	org.apache.el.ValueExpressionImpl.getValue(ValueExpressionImpl.java:186)
	org.apache.jasper.runtime.PageContextImpl.proprietaryEvaluate(PageContextImpl.java:923)
	org.apache.jsp.products_jsp._jspx_meth_c_005fforEach_005f0(products_jsp.java:120)
	org.apache.jsp.products_jsp._jspService(products_jsp.java:92)
	org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
	org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:374)
	org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:337)
	org.apache.jasper.servlet.JspServlet.service(JspServlet.java:266)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:803)

Mostre pra gente o codigo getProducts do seu ProductBean
e, por favor, coloque os códigos entre as tags code

De uma olhada no seguinte link

http://forums.sun.com/thread.jspa?threadID=629437

Creio que vai lhe ajudar bastante .

Olá galera…blz…vale pela ajuda…mais ainda nao consegui…o meu product control esta assim…
desde já agradeço,

/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package devmedia.mycomplete.control;

import devmedia.mycomplete.dao.Product;
import devmedia.mycomplete.dao.ProductDAO;
import java.sql.SQLException;
import java.util.List;
import java.util.logging.Level;
import java.util.logging.Logger;

/**
 *
 * @author alex
 */
public class ProductControl {

    private ProductDAO dao;

    public ProductControl() {
        try {
            dao = new ProductDAO();
        } catch (ClassNotFoundException ex) {
            Logger.getLogger(ProductControl.class.getName()).log(Level.SEVERE, null, ex);
        } catch (SQLException ex) {
            Logger.getLogger(ProductControl.class.getName()).log(Level.SEVERE, null, ex);
        }
        
    }

    public boolean  addProduct(Product product) throws SQLException{
       return dao.addProduct(product);
    }
    public boolean removeProduct(String name) throws SQLException{
        return dao.removeProdct(name);
    }
    public boolean  updateProduct(Product product) throws SQLException{
        return dao.updateProduts(product);
    }
    public List<Product> getProducts() {
        try {
            return dao.getListOffProducts();
        } catch (SQLException ex) {
            Logger.getLogger(ProductControl.class.getName()).log(Level.SEVERE, null, ex);
        }
        return null;
    }
}

onde eu estou chamado ele aqui…
o que será…



<%@page contentType="text/html" pageEncoding="UTF-8"%>
<%@page   import="java.sql.*,devmedia.mycomplete.control.*,devmedia.mycomplete.dao.*" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<jsp:useBean id="productsBean" scope="session" class="devmedia.mycomplete.control.ProductControl"/>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
   "http://www.w3.org/TR/html4/loose.dtd">

<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title>Products</title>
    </head>
    <body>
        <h1>The Products</h1>
        <table border="1">
            <tr>
                <td>nome</td>
                <td>Price</td>
                <td>In Stock</td>
            </tr>
            <c:forEach items="${productsBean.products}" var="products">
                <tr>
                    <td><a href="/show.jsp?name=${products.name}">${products.name}</a> </td>
                    <td>${products.price}</td>
                    <td>${products.stock}</td>
                    <td><a href="/edit.jsp?name=${products.name}">Edit</a>
                    <a href="/RemoveServlet?name=${products.name}">remover</a>
                    </td>

                </tr>
            </c:forEach>
        </table>
        <a href="/add.jsp">ADD new Product</a>
    </body>
</html>

Verifique se o método
dao.getListOffProducts(); não está retonando null e tente trocar o cifrão por cerquilha, assim

<c:forEach items="#{productsBean.products}" var="products">  

o retorno da função já fiz o teste com ele…esta retornando sim valores… agora vou tentar o trocar o # valew ai…pela ajuda.

funcionou?

fala brother blz… Desculpa cara pela demora… é o seguinte moço…até que nao esta dando erro mais lá nao …agora esta dando erro na linha 26…
porque será desde já agradeço.

org.apache.jasper.JasperException: An exception occurred processing JSP page /products.jsp at line 27

24:             <c:forEach items="#{productsBean.products}" var="products">
25:                 <tr>
26:                     <td> 
27:                         ${products.name} </td>
28:                     <td>${products.price}</td>
29:                     <td>${products.stock}</td>
30:                     <td><a href="/edit.jsp?name=${products.name}">Edit</a>


tenta por cerquilha também

   #{products.name}

olha só um tópico bacana: http://www.guj.com.br/posts/list/87183.java
Semrpre falaram pra usar # ao invés de $, agora achei uma explicação mais técnica :wink:

Moço tentei…mais está dando erro cara…esta dando erro aqui…

<a href="/show.jsp?name=#{products.name}">

agora porque não sei não…rapaz…o engraçado que estou seguindo um tutorial que está do mesmo jeito…
ele esta aceitando o #{products.name} já os outros blz.dando tem alguma coisa errada ai.? valew pela ajuda …obrigado.

é o mesmo erro? será que não esqueceu de alterar em alguma parte, algo como

[b]$[/b]{products.name}

Poderia passar o stack trace e novamente o codigo compelto o arquivo jsp ?

rapaz…estou apanhando muito aqui em…e dando trabalho para vc…
sou novato em java para web…agora SE. manjo um pouco…então .estou seguindo um tutorial aqui…o engraçado que está do mesmo jeito cara.
e não tem como…esta dando erro…será que é algum lib ou coisa assim?
o codigo esta assim…


<%@page contentType="text/html" pageEncoding="UTF-8"%>
<%@page   import="java.sql.*,devmedia.mycomplete.control.*,devmedia.mycomplete.dao.*" %>
<jsp:useBean id="productsBean" scope="session" class="devmedia.mycomplete.control.ProductControl"/>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>


<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
   "http://www.w3.org/TR/html4/loose.dtd">

<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title>Products</title>
    </head>
    <body>
        <h1>The Products</h1>
        <table border="1">
            <tr>
                <td>nome</td>
                <td>Price</td>
                <td>In Stock</td>
            </tr> 
            <c:forEach items="#{productsBean.products}" var="products">
                <tr>
                    <td><a href="/show.jsp?name=#{products.name}">
                        #{products.name}</a> </td>
                    <td>#{products.price}</td>
                    <td>#{products.stock}</td>
                    <td><a href="/edit.jsp?name=#{products.name}">Edit</a>
                    <a href="/RemoveServlet?name=#{products.name}">remover</a>
                    </td>

                </tr>
            </c:forEach>
        </table>
        <a href="/add.jsp">ADD new Product</a>
    </body>
</html>

o erro esta ssim…

org.apache.jasper.JasperException: /products.jsp(27,50) #{..} is not allowed in template text
	org.apache.jasper.compiler.DefaultErrorHandler.jspError(DefaultErrorHandler.java:40)
	org.apache.jasper.compiler.ErrorDispatcher.dispatch(ErrorDispatcher.java:407)
	org.apache.jasper.compiler.ErrorDispatcher.jspError(ErrorDispatcher.java:102)
	org.apache.jasper.compiler.Validator$ValidateVisitor.visit(Validator.java:711)
	org.apache.jasper.compiler.Node$ELExpression.accept(Node.java:940)
	org.apache.jasper.compiler.Node$Nodes.visit(Node.java:2343)
	org.apache.jasper.compiler.Node$Visitor.visitBody(Node.java:2393)
	org.apache.jasper.compiler.Validator$ValidateVisitor.visit(Validator.java:838)
	org.apache.jasper.compiler.Node$CustomTag.accept(Node.java:1512)
	org.apache.jasper.compiler.Node$Nodes.visit(Node.java:2343)
	org.apache.jasper.compiler.Node$Visitor.visitBody(Node.java:2393)
	org.apache.jasper.compiler.Node$Visitor.visit(Node.java:2399)
	org.apache.jasper.compiler.Node$Root.accept(Node.java:489)
	org.apache.jasper.compiler.Node$Nodes.visit(Node.java:2343)
	org.apache.jasper.compiler.Validator.validate(Validator.java:1737)
	org.apache.jasper.compiler.Compiler.generateJava(Compiler.java:165)
	org.apache.jasper.compiler.Compiler.compile(Compiler.java:314)
	org.apache.jasper.compiler.Compiler.compile(Compiler.java:294)
	org.apache.jasper.compiler.Compiler.compile(Compiler.java:281)
	org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:566)
	org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:317)
	org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:337)
	org.apache.jasper.servlet.JspServlet.service(JspServlet.java:266)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:803)

tenta assim

<td><c:out value="#{products.price}"/></td>

mais esta dando erro moço…a no
será que não é nenhuma lib não que esta faltando…?
quais são as lib…que tem que colocar no path.:?obrigado.

 <td><a href="/show.jsp?name=#{products.name}">  

Seguinte, a forma como vc estava fazendo antes com $ está certa, o problema é claro na stacktrace

java.lang.NullPointerException   
    devmedia.mycomplete.control.ProductControl.getProducts(ProductControl.java:45)   

ou seja, não tem Products na lista. tem dados na sua base de dados ou na classe mock?

blz…o engraçado… é o seguinte…eu faço o test Units.funciona de boa…retorna. blz…
mais quando coloco ele no .jsp… ele dá esse erro. mais vou da uma olhada detalhada aqui…
mais desde já agradeço galera pela ajudinha…kikostyle

Olá Alex, gostaria de saber como resolveu o problema. Abraço!

resolvi sim…pretorian está 100% na epoca eu estava estudando jsp…mais está tranquilo…valew.

Vc lembra como resolveu? Dá pra postar? Se puder ajudar agradeço. Meu problema está na ultima linha.

<%@ page contentType="text/html; charset=ISO-8859-1" pageEncoding="ISO-8859-1"%>
<%@ taglib prefix="f" uri="http://java.sun.com/jsf/core"%>
<%@ taglib prefix="h" uri="http://java.sun.com/jsf/html"%>
<html>
    <head>
        <title>Consulta de contas</title>
        <link rel="stylesheet" type="text/css" href="../CSS/estilo.css" />
    </head>
    <body>
        <f:view>
            <h:form id="frm">
                <h1><h:outputText value="Consulta de contas" /></h1>

                <h:messages layout="table" showSummary="true" showDetail="false"
                            globalOnly="true" styleClass="msgErro" infoClass="msgInfo"
                            style="font-weight: bold" />

            <rich:dataTable value="#{consultaContaBean.contas}" var="item" width="790px">