2014-09-05 3 views
0

Я хочу показать данные без передачи параметра сервлету. Например, когда я вписываю этот URLОтображение данных без передачи Параметр для сервлета

"Localhost: 30050/AssigmentByMVC/RetriveByClassOrName"

так что показать мне данные. я пытался, но он не показывает, а через этот путь он показывает данные

локальный: 30050/AssigmentByMVC/RetriveByClassOrName SearchByName = & SearchByClass =

Мой Servlet Код является

package manipulationStudentData; 

import java.util.*; 
import java.io.IOException; 
import javax.servlet.ServletException; 
import javax.servlet.annotation.WebServlet; 
import javax.servlet.http.HttpServlet; 
import javax.servlet.http.HttpServletRequest; 
import javax.servlet.http.HttpServletResponse; 


@WebServlet(description = "Retrive By Class Or Name", urlPatterns = { 
"/RetriveByClassOrName" }) 

public class RetriveByClassOrNameController extends HttpServlet { 
private static final long serialVersionUID = 1L; 


public RetriveByClassOrNameController() { 
    super(); 

} 


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

    ArrayList<ManipulateStudentBean> Search=new ArrayList<ManipulateStudentBean>(); 
    DatabaseActivityDao database=new DatabaseActivityDao(); 



/*#################################################################################*/ 
        /*Searching By Student First Name*/   
/*#################################################################################*/ 


    if(request.getParameter("SearchByStudent") != "" && 
     request.getParameter("SearchByClass") != ""){ 


Search=database.showOnClassandName(request.getParameter("SearchByStudent"), 
            request.getParameter("SearchByClass")); 

     request.setAttribute("ResultByClassAndName", Search); 
     request.setAttribute("ResultByFilter", "both"); 
     request.getRequestDispatcher("/ManipulationPage.jsp") 
     .include(request, response); 
    } 


    /*################################################################################*/ 
          /*Searching By Student First Name*/ 
    /*################################################################################*/ 

    else if(request.getParameter("SearchByStudent") != "" && 
      request.getParameter("SearchByClass") == ""){ 

     Search=database.showOnName(request.getParameter("SearchByStudent")); 

     request.setAttribute("ResultSet", Search); 
     request.setAttribute("ResultByFilter", "student"); 
     request.getRequestDispatcher("/ManipulationPage.jsp") 
     .include(request, response); 
    } 

    /*##########################################################################*/ 
          /*Searching By Student First Name*/ 
    /*##########################################################################*/ 

    else if(request.getParameter("SearchByStudent") == "" && 
      request.getParameter("SearchByClass") != ""){ 

     Search=database.showOnClass(request.getParameter("SearchByClass")); 

     request.setAttribute("ResultSet", Search); 
     request.setAttribute("ResultByFilter", "class"); 
     request.getRequestDispatcher("/ManipulationPage.jsp") 
     .include(request, response); 
    } 
    /*###############################################################*/ 
         /*Searching By Student First Name*/ 
    /*################################################################*/ 

    else if(request.getParameter("SearchByStudent") == "" && 
      request.getParameter("SearchByClass") == ""){ 

     Search=database.showStudentData(); 

     request.setAttribute("ResultSet", Search); 
     request.getRequestDispatcher("/ManipulationPage.jsp") 
     .include(request, response); 
    } 

    else{ 

     Search=database.showStudentData(); 

     request.setAttribute("ResultSet", Search); 
     request.getRequestDispatcher("/ManipulationPage.jsp") 
     .include(request, response); 
    } 

    } 


    protected void doPost(HttpServletRequest request, HttpServletResponse response) 
    throws ServletException, IOException { 
    doGet(request,response); 
    } 

} 

Отсюда я зову его

<html> 
    <head> 
     <title>Storing Data </title> 
     <link rel="stylesheet" type="text\css" href="Index.css" /> 
    </head> 
    <body> 
     <div id="links"> 
      <h3>To Add Students Goto This Link</h3> 

      <h4><a href="/ManipulationPage.jsp" > Students </a> </h4> 

      <h3>For Updating Deleting Student Record go to this Page</h3> 
      <h4> <a href="/AssigmentByMVC/RetriveByClassOrName" > Manipulate </a> </h4> 
     </div> 
    </body> 
</html> 

это страница ManipulationPage.jsp

<%@ page language="java" contentType="text/html; charset=ISO-8859-1" 
pageEncoding="ISO-8859-1"%> 
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%> 



<html> 
<head> 
<title>Manipulation Page</title> 
<link rel="stylesheet" type="text\css" href="ManipulationPage.css"> 
</head> 
<body> 
<div id="formData"> 
    <c:url var="formActionURL" value="/RetriveByClassOrName" /> 
    <form action="${formActionURL}" method="post" id="searchForm"> 
    <p> 
    <label for="SearchByStudent"> Student First Name </label> 
    <input type="text" name="SearchByStudent" /> 
    </p> 

    <p> 
    <label for="SearchByClass">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;Student Class </label> 
    <input type="text" name="SearchByClass" /> 
    </p> 

    <p> 
    <input type="submit" value="Search"/> 
    </p> 
</form> 
</div> 


<div id="showData"> 
    <table id="table" cellpadding="3px" border="1px"> 
     <tr> 
      <th>ID</th> 
      <th>First Name</th> 
      <th>Last Name</th> 
      <th>Father Name </th> 
      <th>Gender </th> 
      <th>Date Of Birth</th> 
      <th>Class</th> 
      <th>Address</th> 
      <th>Subjects</th> 
      <th>Update</th> 
      <th>Delete</th> 
     </tr>  
     <c:forEach var="data" items="${ResultSet}"> 
      <tr> 
       <td><c:out value="${data.studentId}"></c:out></td> 
       <td><c:out value="${data.firstName}"></c:out></td> 
       <td><c:out value="${data.lastName}"></c:out></td> 
       <td><c:out value="${data.fatherName}"></c:out></td> 
       <td><c:out value="${data.gender}"></c:out></td> 
       <td><c:out value="${data.dob}"></c:out></td> 
       <td><c:out value="${data.classNo}"></c:out></td> 
       <td><c:out value="${data.address}"></c:out></td> 
      </tr> 
     </c:forEach> 

    </table> 
</div> 

</body> 
</html> 
+1

Как вы называете свой сервлет? Вам нужно вызвать его через POST. Самый простой способ - создать From со входами, связанными с вашими параметрами. – Gas

+0

Я не звоню на страницу Jsp, я напрямую вызываю сервлет, а затем по запросуDispatcher i включает в себя страницу jsp –

+0

Но почему-то вам нужно передать эти параметры, которые вы используете: SearchByStudent, SearchByClass. Вы либо делаете это через url - SearchByClass ..., путем ввода в форме или вызова AJAX (но это может быть слишком продвинуто на мгновение). Как выглядит ваш ManipulationPage.jsp? – Gas

ответ

0

Вы используете метод пост в виде:

<form action="${formActionURL}" method="post" id="searchForm"> 

Так что вам нужно, чтобы переместить обработку бизнес-логики поиска в сервлет методу doPost().

В doGet() вы просто оставляете логическую пересылку пустым ManipulationPage.jsp, когда пользователь щелкает ссылку на вашей странице данных хранения.

+0

Ок решил. Большое спасибо газ. Просто передал код детали else методу doGet(), в то время как остальные находятся в столбце Метод, который работает с коррекцией, поскольку я хотел –