我想顯示數據而不傳遞參數到servlet。 就像當我進入這個網址顯示沒有通過的參數參數到Servlet
「本地主機: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"> 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>
你如何調用你的servlet?你需要通過POST調用它。最簡單的方法是創建來自與您的參數相關的輸入。 – Gas 2014-09-05 10:03:52
我沒有調用Jsp頁面,我直接調用servlet,然後通過requestDispatcher我包含了jsp頁面 – 2014-09-05 10:05:29
但是不知何故,你需要傳遞你使用的這些參數:SearchByStudent,SearchByClass。您可以通過url - ?SearchByClass ...,通過表單或AJAX調用的輸入來完成它(但這可能暫時過於簡單)。 ManipulationPage.jsp的外觀如何? – Gas 2014-09-05 10:21:30