Gostaria de saber como realizar uma consulta em JSP por um formulario onde o usuario pode inserir ( data , nome , endereço ) e a busca seja feita de acordo com os dados digitados:
se conter somente nome, busca todos registros com aquele nome
se conter somente data, busca todos com aquela data
se conter nome e data, busca todos com o nome e a data digitada…
acho que deu pra explicar…
Obrigado
Você está usando Servlet ou apenas JSP? Se for apenas JSP, aconselho você separar as coisas através de um servlet. Agora como fazer isso? bom, você terá que fazer alguns IFs, fazer as consultas dentro dos IFs e depois retornar o valor para o JSP. Seria algo mais ou menos assim (usando Servlet)
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
String valor1 = (String) request.getParameter("valor1");
String valor2 = (String) request.getParameter("valor2");
// --quantos valores vc for pegar do JSP --//
if ((valor1 != null) && (valor2 != null)) {
//faz uma consulta co o valor1 e 2. Salva os dados em uma Collection por exemplo
}
//faz outros IFs
//no final retorna a Collection ou o Bean
request.setAttribute("result",SuaCollection);
RequestDispatcher rd = request.getRequestDispatcher("pagina.jsp");
rd.forward(request,response);
}
Seria algo mais ou menos assim.
Resumindo, vc vai ter que fazer IFs para testar os valores digitandos ou nao, e salvar o resultado da QUERY em uma Collection por exemplo e depois apresentar esses valores
Boa Manchester…
Vou aproveitar a dúvida do amigo e tirar as minhas.
No .net podemos fazer tudo em um único form, cadastrar, consultar(preenchendo TEXTBOX do form atual), então como mostrar seu exemplo um RequestDispatcher passa o request e response para uma OUTRA PÁGINA.JSP que não é a mesma onde solicitou a consulta, não é isso ?
No exemplo tem tres campos, vamos supor um textbox para cada, o que parece é que se quiser exibir a consulta no layout parecido com a pagina da consulta tenho que na PÁGINA.JSP criar novos TEXTBOXes e associar os resultados a ele, e outros botoes para novas acões ? é isso ?
ou trato o resultado da consulta na PÁGINA.jsp e …println em tudo ? sem formatação e se quiser fazer outra ação … VOLTO para o form anterior ou um terceiro ??
Não sei se tem lógica o que estou falando, mas se possível um esclarecimento !!!
Valeu !!!
Valeu pela ajuda… estou utilizando somente páginas JSP, nao tenho muito conhecimento em servlet, mais vou tentar pela maneira que você disse, me parece mais facil…
Obrigado
