Olá pessoal, estou tentando passar alguns dados do meu servlet para meu jsp, e estou usando arraylist, porém não estou conseguindo obter sucesso.
Qdo tiro o comando do arraylist do jsp os outros request funcionam, mas qdo eu os coloco não aparece nada, ou seja, fica uma pág em branco.
Meu servlet:
try{
stm = con.createStatement();
sql = "SELECT * FROM QUESTAO, ALTERNATIVA" +
" WHERE assunto='" + assunto + "'" + " AND
QUESTAO.cod_questao = ALTERNATIVA.cod_questao";
ResultSet rs = stm.executeQuery(sql);
while(rs.next()){
cod_questao = rs.getString("cod_questao");
cod_questao2 = Integer.parseInt(cod_questao) ;
if(cod_questao2 == aux){
passagem = false;
}
else{
aux = cod_questao2;
passagem = true;
}
if(passagem){
descricao_questao = rs.getString("descricao_questao");
}
alternativa = rs.getString("alternativa");
descricao_alt = rs.getString("descricao_alt");
ArrayList alternativas = new ArrayList();
while(rs.next()){
alternativa = rs.getString("alternativa");
alternativas.add(alternativa);
}
.
.
.
.
try {
req.setAttribute("cod", cod_questao);
req.setAttribute("desc_quest", descricao_questao);
req.setAttribute("alt", alternativas);
RequestDispatcher rd = req.getRequestDispatcher("../jsp/Resolv_Quest.jsp");
rd.forward(req, res);
} catch (Exception e) {
System.out.println(e.toString());
}
}
}
meu jsp:
<%@page contentType="text/html"%>
<%@page pageEncoding="UTF-8"%>
<%
String mess = null;
String msg = null;
String test = (String)request.getAttribute("cod");
String teste = (String)request.getAttribute("desc_quest");
out.println(" " + test);
out.println(" " + teste);
ArrayList alternativas = (ArrayList)request.getAttribute("alt");
if(alternativas!=null)
{
for(int i = 0; i <messageList.size() ; i++)
{
mess = (String) messageList.get(i);
msg = nickname + "->" + mess;
System.out.println(msg);
}
}
%>
<html>
<head><title>JSP Page</title></head>
<body>
</body>
</html>
Caso alguém possa me ajudar, pois não estou conseguindo ver onde estou errando…
t+
Sta Leisley
Note que voce esta usando System.out.println() - o que joga os dados para o console ou algum arquivo de log - ao inves de out.println(), que eh o comando correto para jogar dados ao cliente.
Rafael
[quote=Rafael Steil]Note que voce esta usando System.out.println() - o que joga os dados para o console ou algum arquivo de log - ao inves de out.println(), que eh o comando correto para jogar dados ao cliente.
Rafael[/quote]
Vou fazer esta alteração, porém o problema é que qdo utilizo o comando arraylist ele não deixa os out.println anterioes imprimirem o código e descrição da questão…O q não acontece qdo tiro o código do arraylist…tudo isso sempre dentro do jsp.
T+
Leisley
[quote=Leisley][quote=Rafael Steil]Note que voce esta usando System.out.println() - o que joga os dados para o console ou algum arquivo de log - ao inves de out.println(), que eh o comando correto para jogar dados ao cliente.
Rafael[/quote]
Vou fazer esta alteração, porém o problema é que qdo utilizo o comando arraylist ele não deixa os out.println anterioes imprimirem o código e descrição da questão…O q não acontece qdo tiro o código do arraylist…tudo isso sempre dentro do jsp.
T+
Leisley[/quote]
Olá pessoal…voltei a trabalhar no meu projeto e tentei fazer o que nossa amigo sugeriu usando o ouy.println somente…porém quando uso o comando arraylist no jsp ~minha tela fica em branco…não sei o q posso estar errando…Alguém em uma sugestão?
É porque você continua usando System.out.println() no seu código, aqui ó:
ArrayList alternativas = (ArrayList)request.getAttribute("alt");
if(alternativas!=null)
{
for(int i = 0; i <messageList.size() ; i++)
{
mess = (String) messageList.get(i);
msg = nickname + "->" + mess;
System.out.println(msg);
}
Outra coisa, as informações sobre o “header” da página HTML, ficam antes de se imprimir qualquer coisa, você deve colocar isso no início, não no final:
<html>
<head><title>JSP Page</title></head>
<body>
[quote=Maurício Linhares]É porque você continua usando System.out.println() no seu código, aqui ó:
ArrayList alternativas = (ArrayList)request.getAttribute("alt");
if(alternativas!=null)
{
for(int i = 0; i <messageList.size() ; i++)
{
mess = (String) messageList.get(i);
msg = nickname + "->" + mess;
System.out.println(msg);
}
Outra coisa, as informações sobre o “header” da página HTML, ficam antes
de se imprimir qualquer coisa, você deve colocar isso no início, não no
final:
<html>
<head><title>JSP Page</title></head>
<body>
[/quote]
Desculpe, mas já havia modificado sim o out.println, só não tinha colocado
aqui. Bem meu código está assim:
<%@page contentType="text/html"%>
<%@page pageEncoding="UTF-8"%>
<%-- import attributes start here --%>
<%@ page import="java.lang.*" %>
<%@ page import="javax.servlet.*, javax.servlet.http.*" %>
<%@ page import="java.util.ArrayList, java.util.List, java.util.Date,
java.util.Calendar, java.util.Vector, java.util.Properties,
java.util.Enumeration" %>
<%@ page import="java.io.*" %>
<html>
<head><title>JSP Page</title></head>
<body>
</body>
</html>
<%
String mess = null;
String msg = null;
String test = (String)request.getAttribute("cod");
String teste = (String)request.getAttribute("desc_quest");
out.println(" " + test);
out.println(" " + teste);
ArrayList alternativas = (ArrayList)request.getAttribute("alt");
if(alternativas!=null)
{
out.println("oi");
}
}
%>
Mas mesmo assim não consigo imprimir nada na tela por causa do arraylist.
Aguardo alguma dica…
t+
Tente assim:
<%@page contentType="text/html"%>
<%@page pageEncoding="UTF-8"%>
<%-- import attributes start here --%>
<%@ page import="java.lang.*" %>
<%@ page import="javax.servlet.*, javax.servlet.http.*" %>
<%@ page import="java.util.ArrayList, java.util.List, java.util.Date,
java.util.Calendar, java.util.Vector, java.util.Properties,
java.util.Enumeration" %>
<%@ page import="java.io.*" %>
<html>
<head><title>JSP Page</title></head>
<body>
<%
String mess = null;
String msg = null;
String test = (String)request.getAttribute("cod");
String teste = (String)request.getAttribute("desc_quest");
out.println(" " + test);
out.println(" " + teste);
ArrayList alternativas = (ArrayList)request.getAttribute("alt");
if(alternativas!=null)
{
out.println("oi");
}
}
%>
</body>
</html>
[quote=Maurício Linhares]Tente assim:
[code]
<%@page contentType=“text/html”%>
<%@page pageEncoding=“UTF-8”%>
<%-- import attributes start here --%>
<%@ page import=“java.lang." %>
<%@ page import="javax.servlet., javax.servlet.http." %>
<%@ page import=“java.util.ArrayList, java.util.List, java.util.Date,
java.util.Calendar, java.util.Vector, java.util.Properties,
java.util.Enumeration” %>
<%@ page import="java.io.” %>
<html>
<head><title>JSP Page</title></head>
<body>
<%
String mess = null;
String msg = null;
String test = (String)request.getAttribute("cod");
String teste = (String)request.getAttribute("desc_quest");
out.println(" " + test);
out.println(" " + teste);
ArrayList alternativas = (ArrayList)request.getAttribute("alt");
if(alternativas!=null)
{
out.println("oi");
}
}
%>
</body>
</html>
[/code][/quote]
Legal agora funcionou…mas quando coloco o for para imprimir o conteúdo do arraylist a tela fica em branco.
for(int i = 0; i <alternativas.size() ; i++)
{
mess = (String) alternativas.get(i);
out.println(mess);
}
???>
Provavelmente porque não tem nada nesse ArrayList.
Bem vou fazer a verificação no servlet para verificar se tenho ou não dados no arraylist, mas o interessante é que nem os outros dados que eram impressos antes agora com o for não são.
Bem vou fazer a verificação no servlet para verificar se tenho ou não dados no arraylist, mas o interessante é que nem os outros dados que eram impressos antes agora com o for não são.
[/quote]
Bem fiz o teste no servlet e o arraylist possuios dados…porém não consigo imprimir no jsp…
Alguém poderia me dar uma dica?
cole seu codigo novamente para analisar