Pessoal, boa noite.
Conseguiriam me ajudar? A minha aplicação está rodando todos os formulários que salvam os cadastros com sucesso. Mais não estou conseguindo fazer retornar apenas um valor quando o filtro for preenchido no form ou mesmo apenas clicando em buscar para retornar todos os dados, segue abaixo o que foi criado para isso:
FORM
<h1>Consulta de Alunos</h1>
<div class="grupo-filtro">
<div class="grupo-entrada">
<label>Matrícula:</label>
<input type="text" name="mat_aluno" class="campo" value=""><br>
</div>
<div class="grupo-entrada">
<label>Disciplina Cursada:</label>
<input type="text" name="codigo_disciplina" class="campo">
</div>
<input type="submit" value="Buscar" class="botao">
</div>
<c:if test="${lista != null}">
<h2>Resultado</h2>
<table border="1" style="">
<tr>
<th id="matricula">Matricula</th>
<th id="matricula">Nome</th>
<th id="matricula">Disciplina</th>
</tr>
<c:forEach items="${lista}" var="aluno" varStatus="id">
<tr bgcolor="#${id.count % 2 == 0 ? 'aaee88' : 'ffffff' }">
<td>${aluno.matricula}</td>
<td>${aluno.nome}</td>
<td>${aluno.disciplina}</td>
</tr>
</c:forEach>
</table>
</c:if>
</form>
Conteúdo principal do Servlet
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
RequestDispatcher desp = request.getRequestDispatcher(“form_listar_aluno.jsp”);
desp.forward(request, response);
}
/**
* @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
*/
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
String matricula = request.getParameter("mat_aluno");
String disciplina = request.getParameter("codigo_disciplina");
List<Aluno> listaAluno = AlunoBO.getInstance().listar(matricula, disciplina);
request.setAttribute("lista", listaAluno);
doGet(request, response);
}
Classe Aluno
public class Aluno {
private String matricula;
private String nome;
private String disciplina;
public Aluno() {
}
public Aluno(String matricula, String nome, String disciplina) {
super();
this.matricula = matricula;
this.nome = nome;
this.disciplina = disciplina;
}
public String getMatricula() {
return matricula;
}
public void setMatricula(String matricula) {
this.matricula = matricula;
}
public String getNome() {
return nome;
}
public void setNome(String nome) {
this.nome = nome;
}
public String getDisciplina() {
return disciplina;
}
public void setDisciplina(String disciplina) {
this.disciplina = disciplina;
}
}
Classe de Business
public class AlunoBO {
private static AlunoBO alunoBO;
public AlunoBO() {
}
public static AlunoBO getInstance() {
if(alunoBO == null) {
alunoBO = new AlunoBO();
}
return alunoBO;
}
public void salvar(Aluno aluno) {
AlunoDAO alunoDAO = AlunoDAO.getInstance();
alunoDAO.salvar(aluno);
}
public List<Aluno> listar(String matricula, String disciplina) {
return AlunoDAO.getInstance().listar(matricula, disciplina);
//return AlunoDAO.getInstance().listarMoke(matricula, disciplina);
}
Método DAO
public class AlunoDAO {
private static AlunoDAO alunoDAO;
public AlunoDAO() {
}
public static AlunoDAO getInstance() {
if (alunoDAO == null) {
alunoDAO = new AlunoDAO();
}
return alunoDAO;
}
private Connection conexao;
public List<Aluno> listar(String matricula, String disciplina) {
List<Aluno> alunos = new ArrayList<>();
try {
this.conexao = new Conecta().getConnection();
StringBuilder sql = new StringBuilder();
sql.append("SELECT * FROM ALUNO");
sql.append("WHERE 1=1 ");
if (matricula != null && !"".equals(matricula)) {
sql.append("AND mat_aluno = ?");
}
if (disciplina != null && !"".equals(disciplina)) {
sql.append("AND codigo_disciplina = ?");
}
PreparedStatement pstmt = this.conexao.prepareStatement(sql.toString());
if (matricula != null && !"".equals(matricula)) {
pstmt.setString(1, matricula);
}
if (disciplina != null && !"".equals(disciplina)) {
pstmt.setString(2, disciplina);
}
ResultSet rs = pstmt.executeQuery();
while (rs.next()) {
Aluno aluno = new Aluno();
aluno.setMatricula(rs.getString("mat_aluno"));
aluno.setNome(rs.getString("aluno"));
aluno.setDisciplina(rs.getString("codigo_disciplina"));
alunos.add(aluno);
}
rs.close();
pstmt.close();
} catch (SQLException ErroSql) {
JOptionPane.showMessageDialog(null, "Erro ao listar dados: " + ErroSql, "ERRO", JOptionPane.ERROR_MESSAGE);
} finally {
try {
this.conexao.close();
} catch (Exception e2) {
e2.printStackTrace();
}
}
return alunos;
}
}