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)
jMotoca
Fevereiro 10, 2010, 7:44pm
#2
Mostre pra gente o codigo getProducts do seu ProductBean
e, por favor, coloque os códigos entre as tags code
edmarr
Fevereiro 11, 2010, 9:15am
#3
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>
jMotoca
Fevereiro 11, 2010, 12:25pm
#6
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.
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>
jMotoca
Fevereiro 11, 2010, 8:15pm
#10
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
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.
jMotoca
Fevereiro 11, 2010, 8:29pm
#12
é 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)
jMotoca
Fevereiro 12, 2010, 8:48am
#14
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">