#sql #list #jsp #servlets #oracle-sqldeveloper
#sql #Список #jsp #сервлеты #oracle-sqldeveloper
Вопрос:
Я пытаюсь вернуть список из своей базы данных, но без JSTL и таким образом (добавив немного html в сам сервлет. Это для моей школьной задачи). Вот мой код:
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
try {
Connection conexao = (Connection) new ConexaoFactory().getConnection();
Cliente cliente = new Cliente();
PreparedStatement estrutura = conexao
.prepareStatement("SELECT * FROM TB_MOVTIN_CLIENTE");
ResultSet resultadoDados = estrutura.executeQuery();
while(resultadoDados.next()) {
cliente.setId(resultadoDados.getInt("ID_CLIENTE"));
cliente.setNome(resultadoDados.getString("NOME"));
request.setAttribute("message",
"<h1>Retorno da seleção</h1>"
"<table border=1> "
"<tr> "
"<td>Identificação</td>"
"<td>Nome</td> "
"</tr>"
"<tr> "
"<td>" cliente.getId() "</td>"
"<td>" cliente.getNome() "</td>"
" </tr> </table>");
}
resultadoDados.close();
estrutura.close();
} catch (SQLException e) {
System.out.print("Erro: ");
e.printStackTrace();
}
RequestDispatcher dispatcher = request.getRequestDispatcher("selecionaCliente.jsp");
dispatcher.forward(request, response);
}
Ответ №1:
Вы должны быть более конкретны в этом вопросе.
1. Если вам нужно создать список: чтобы вернуть список, вы должны заранее создать список клиентов. В цикле while сначала инициализируйте новый объект Cliente, затем используйте метод set для установки атрибутов для этого объекта. Наконец, добавьте недавно созданный объект в список.
2. Если нет: замените request.setAttribute с помощью PrintWriter . Вы можете посмотреть здесь пример
final PrintWriter writerA = response.getWriter();
writerA.println("A1");