2014-12-18 3 views
0
<%@page import="java.util.List"%> 
<%@page import="entity.Membership"%> 

<!-- retrieve session object, memList --> 
<% 
List<Membership> memList = (List)session.getAttribute("memList"); 
%> 

<!-- Display Member --> 
<fieldset> 
<form action="SMemberId.jsp" align="right"> 
    <input TYPE="text" name="id" class="textbox" placeholder="Seach Member By ID">&nbsp; 
    <input type="SUBMIT" value="Search"/> 
    </form> 
<legend><strong><font color="White"> Member List </font></strong></legend> 
<div style="height:245px;overflow:auto;"> 
<table border="1" width="100%" height="auto" align='center' bgcolor="#00d2ff"> 
<tr > 
    <th>Member ID</th> 
    <th>Member Type</th> 
    <th>Name</th> 
    <th>IC</th> 
    <th>Phone</th> 
    <th>Address</th> 
    <th>Gender</th> 
    <th>Member Fees</th> 
</tr> 
<% for (Membership membership: memList){ %> 
    <tr> 
     <td><%= membership.getMemberid()%></td> 
     <td><%= membership.getMembertype() %> </td> 
     <td><%= membership.getName() %></td> 
     <td><%= membership.getIc() %></td> 
     <td><%= membership.getPhone() %></td> 
     <td><%= membership.getAddress() %></td> 
     <td><%= membership.getGender() %></td> 
     <td><%= membership.getFees() %> </td> 
    </tr> 
<% } %> 
</table> 
</div> 
</fieldset> 

Servlet

package controller; 

import entity.MemService; 
import entity.Membership; 
import java.io.IOException; 
import java.io.PrintWriter; 
import java.util.List; 
import java.util.logging.Level; 
import java.util.logging.Logger; 
import javax.persistence.EntityManager; 
import javax.persistence.PersistenceContext; 
import javax.servlet.ServletException; 
import javax.servlet.http.HttpServlet; 
import javax.servlet.http.HttpServletRequest; 
import javax.servlet.http.HttpServletResponse; 
import javax.servlet.http.HttpSession; 

public class SearchMember extends HttpServlet { 

@PersistenceContext 
EntityManager em; 

protected void processRequest(HttpServletRequest request, HttpServletResponse response) 
     throws ServletException, IOException { 
    try { 
     MemService memService = new MemService(em); 
     List<Membership> memList = memService.findAll(); 
     HttpSession session = request.getSession(); 
     session.setAttribute("memList", memList); 
     response.sendRedirect("membership/DisplayMember.jsp"); 
    } catch (Exception ex) { 
     Logger.getLogger(SearchMember.class.getName()).log(Level.SEVERE, null, ex); 
    } 
} 

// <editor-fold defaultstate="collapsed" desc="HttpServlet methods. Click on the + sign on the  left to edit the code."> 
/** 
* Handles the HTTP <code>GET</code> method. 
* 
* @param request servlet request 
* @param response servlet response 
* @throws ServletException if a servlet-specific error occurs 
* @throws IOException if an I/O error occurs 
*/ 
@Override 
protected void doGet(HttpServletRequest request, HttpServletResponse response) 
     throws ServletException, IOException { 
    processRequest(request, response); 
} 

/** 
* Handles the HTTP <code>POST</code> method. 
* 
* @param request servlet request 
* @param response servlet response 
* @throws ServletException if a servlet-specific error occurs 
* @throws IOException if an I/O error occurs 
*/ 
@Override 
protected void doPost(HttpServletRequest request, HttpServletResponse response) 
     throws ServletException, IOException { 
    processRequest(request, response); 
} 

/** 
* Returns a short description of the servlet. 
* 
* @return a String containing servlet description 
*/ 
@Override 
public String getServletInfo() { 
    return "Short description"; 
}// </editor-fold> 

}Jsp Поиск по критериям

Currenly я просто не могу отобразить таблицу из database.i есть 10 объект там. Могу ли я спросить Как выполнить поиск данных по критериям, которые означают, что я набираю, он выйдет автоматически. Я понятия не имею, как искать по критериям. Пример i введите M001, таблица автоматически выведет член с типом M001 или i по полу M, отобразит список Gender M.so, где мне нужно создать текстовое поле и выполнить поиск? для этого нужен javascript?

+0

Выполните поиск Google для обновления таблицы с помощью JQuery AJAX. – Ascalonian

+0

потому что currenly у меня есть 1 текстовое поле поиска, и независимо от того, что я набираю, если такое же значение с базой данных, оно выйдет из таблицы только – Anonymous

ответ

0

Вы сомневаетесь, поскольку он слишком широк. Нет волшебного решения, которое просто сделает это.

Вам необходимо начать с основного решения, а затем улучшить его. Вы можете легко обновить свой сервлет, чтобы добавить некоторые базовые функции поиска, обновив обработчик запросов, как показано ниже, для поиска по имени, например.

Как только у вас будет эта работа, вам захочется посмотреть на другие поля. Возможно, выпадающий список, в котором пользователи выбирают поле, в котором они хотят искать. После того, как вы все это сделали, вы можете использовать Ajax для обновления таблицы нажатием клавиши.

protected void processRequest(HttpServletRequest request, HttpServletResponse response) 
     throws ServletException, IOException { 

    try { 
     MemService memService = new MemService(em); 
     List<Membership> memList; 

     if(request.getParameter("name") != null){ 
      memList = memService.findByName(request.getParameter("name")); 

     }else{ 
      memList = memService.findAll(); 
     } 

     request.setAttribute("memList", memList); 

     RequestDispatcher dispatcher = getServletContext().getRequestDispatcher("membership/DisplayMember.jsp"); 
     dispatcher.forward(request, response); 

    } catch (Exception ex) { 
     Logger.getLogger(SearchMember.class.getName()).log(Level.SEVERE, null, ex); 
    } 
} 

И ваша форма:

<form align="right"> 
    <input type="text" name="name" class="textbox" placeholder="Seach Member By Name">&nbsp; 
    <input type="SUBMIT" value="Search"/> 
</form> 
+0

Я видел, как мой лектор делает это. Но я не знаю, для чего это решение. – Anonymous

Смежные вопросы