Você criou o array mas não colocou objetos dentro dele !
É preciso que test[0] tenha algum objeto TestBean referenciado…
test[0] = new TestBean();
Entendeu ?
L
Leisley
ana_abrantes:
Você criou o array mas não colocou objetos dentro dele !
É preciso que test[0] tenha algum objeto TestBean referenciado…
test[0] = new TestBean();
Entendeu ?
Valeu pela dica…deu certo…valeu mesmo
Abraços,
sta. Leisley
L
Leisley
Leisley:
ana_abrantes:
Você criou o array mas não colocou objetos dentro dele !
É preciso que test[0] tenha algum objeto TestBean referenciado…
test[0] = new TestBean();
Entendeu ?
Valeu pela dica…deu certo…valeu mesmo
Abraços,
sta. Leisley
Só mais uma perguntinha…
Caso eu queira fazer a leitura dos dados em uma pág jsp…
Estou usando o comando “<jsp:useBean id=“test” class=“com.bean.TesteBean” scope=“request”/>”, porém ele inicializa o bean não da forma que eu desejo "TesteBean[] test = new TesteBean[1];
", e assim não consigo pegar os dados no jsp…
test é uma variável de referência que está apontado para o objeto array do tipo TestBean.
test[0] é uma outra variavel de referência que está apontando para o objeto do tipo TestBean.
Entenda: arrays são objetos também.
No seu caso, eu não entendi ainda porque quer usar array se tem um elemento só.
Então Ana este é apenas um teste q estou fazendo, pois no meu projeto terei varias questões com descrição e alternativas sobre um determinado assunto que o aluno escolheu. E terei q mostrar todos as quetoes daquele assunto.
A
ana_abrantes
Quando meus objetos são coleções ou arrays, eu uso a tag c:forEach da JSTL, mas você pode usar scriptlet também, é só usar como se estivesse fazendo um programa em Java.
L
Leisley
Olá,
Então é o q estou tentando fazer, porém qdo tento usar os métodos do javabeans no jsp não consigo, pois já iniciei o javabean no servlet…e não posso fazer isso novamente no jsp…então tentei passar o array do tipo TesteBean para o jsp…porém não consigo ler os objetos do tipo TesteBean…
Leisley
A
ana_abrantes
Coloque aqui o código do servlet e do jsp para poder ver o que está ocorrendo de errado, ok ?
L
Leisley
O TesteServlet:
.
.
.
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html;charset=UTF-8");
PrintWriter out = response.getWriter();
autor = request.getParameter("autor");
cor = request.getParameter("cor");
TesteBean[] test = new TesteBean[1];
test[0] = new TesteBean();
test[0].setAutor(autor);
test[0].setCor(cor);
/*
out.println(test[0].getAutor());
out.println(test[0].getCor());
*/
request.setAttribute("test", test);
RequestDispatcher rd = request.getRequestDispatcher("jsp/Teste.jsp");
rd.forward(request,response);
}
.
.
.
o TesteBean:
/* * TesteBean.java * * Created on 8 de Agosto de 2005, 16:07 */packagecom.bean;importjava.beans.*;importjava.io.Serializable;/** * @author Leisley */publicclassTesteBeanextendsObjectimplementsSerializable{privateStringaut;privateStringc;publicTesteBean(){}publicvoidsetAutor(Stringautor){aut=autor;}publicvoidsetCor(Stringcor){c=cor;}publicStringgetAutor(){returnaut;}publicStringgetCor(){returnc;}}
o Teste.jsp:
<%@pagecontentType="text/html"%><%@pagepageEncoding="UTF-8"%><%@pageimport="java.util.*"%><jsp:useBeanid="test"scope="application"class="com.bean.TesteBean"/><%--ThetaglibdirectivebelowimportstheJSTLlibrary.Ifyouuncommentit,youmustalsoaddtheJSTLlibrarytotheproject.TheAddLibrary...actiononLibrariesnodeinProjectsviewcanbeusedtoaddtheJSTL1.1library.--%><%--<%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
--%><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html><head><metahttp-equiv="Content-Type"content="text/html; charset=UTF-8"><title>JSP Page</title></head><body><h1>JSP Page</h1><%Stringx=test.getAutor();out.println(x);%>
No jsp precisava ler test[0].getAutor para ler o objeto do array TesteBean, mas ele dá erro…
A
ana_abrantes
Se você mudar a seguinte linha no servlet, vai funcionar:
request.setAttribute(“test”, test[0]);
Ou fazer um loop no jsp, mas aí você não vai poder usar o javabean.
L
Leisley
ana_abrantes:
Se você mudar a seguinte linha no servlet, vai funcionar:
request.setAttribute(“test”, test[0]);
Ou fazer um loop no jsp, mas aí você não vai poder usar o javabean.
Então tentando usar request.setAttribute(“test”, test[0]);…Eu pecisaria usar a linha de comando no jsp “jsp:useBean…”? E quando eu tiver mais de uma questao? Pq este é um teste como se os meus dados autor e cor fossem uma questão…
A
ana_abrantes
Ai eh que estah…
Se vc for usar um array ou collection, nao vai usar jsp usebean entende…
Use um loop no jsp com scriptlet ou com c:forEach da JSTL.