2014-09-05 2 views
0

서블릿에 매개 변수를 전달하지 않고 데이터를 표시하려고합니다. 그것은 나에게 데이터를 표시 너무서블릿에 매개 변수를 전달하지 않고 데이터 표시

: 처럼 내가이 URL을

"30050/AssigmentByMVC/RetriveByClassOrName 로컬 호스트"를 입력 할 때. 내가 시도하지만,이 방법을 통해 데이터

localhost를 보여줍니다 동안은 표시되지 않습니다 : 30050/AssigmentByMVC/RetriveByClassOrName SearchByName = & SearchByClass =

내 서블릿 코드는 여기에서

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 페이지

012,351,641입니다
<%@ 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를 통해 호출해야합니다. 가장 쉬운 방법은 매개 변수와 관련된 입력에서를 작성하는 것입니다. – Gas

+0

Jsp 페이지를 직접 호출하여 servlet을 호출하지 않고 requestDispatcher를 사용하여 jsp 페이지를 포함합니다. –

+0

하지만 어떻게 든이 매개 변수를 전달해야합니다 (SearchByStudent, SearchByClass). 당신은 url -? SearchByClass ...를 통해 폼이나 AJAX 호출의 입력을 통해이 작업을 수행합니다 (그러나이 작업은 너무 빨라질 수 있습니다). ManipulationPage.jsp는 어떻게 생겼습니까? – Gas

답변

0

당신은 형태로 포스트 방법을 사용 :

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

그래서 당신은 doPost() 방법 서블릿에서 검색 비즈니스 로직 처리를 이동해야합니다.

doGet()에서 사용자가 저장 데이터 페이지의 링크를 클릭하면 논리 전달을 비워서 ManipulationPage.jsp으로 남겨두기 만하면됩니다.

+0

좋아, 해결 됐습니다. 고마워요 가스. doGet() 메서드에 else 부분 코드를 전송하는 동안 나머지는 post 메서드에 있습니다. 원하는대로 작동합니다. –

관련 문제