因此,我目前正在嘗試學習一些JSP,並且我無法弄清楚如何解決我遇到的這個問題。從Servlet重定向後其他形式不起作用
目前,我有一個index.jsp頁面有幾種形式。對於一種形式,它有兩個文本字段,它發送給一個servlet test.java,以便構建一個字符串。建設後的字符串,然後servlet重定向到的index.jsp
原始的index.jsp地址: http://localhost:8080/TestJSPConversion/
重定向後,該地址是 http://localhost:8080/TestJSPConversion/test
的問題出現了,當我嘗試在index.jsp上使用另一種形式,它然後帶我到地址空白頁, http://localhost:8080/TestJSPConversion/test?author=Peter+Johnson
我相信這是由於我用來從servlet重定向的方法(重新quest.getRequestDispatcher(「/ index.jsp」)。forward(request,response); 但是,我不太清楚如何解決這個問題。即使在servlet重定向到index.jsp之後,我也想讓表單工作。
servlet代碼:
protected void doPost(HttpServletRequest request,
HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
// Get parameters from the request.
String name = request.getParameter("name");
String email = request.getParameter("email");
String message = null;
GregorianCalendar calendar = new GregorianCalendar();
if (calendar.get(Calendar.AM_PM) == Calendar.AM) {
message = "Good Morning, ";
} else {
message = "Good Afternoon, ";
}
message += name + " with the email, " + email;
request.setAttribute("message", message);
request.getRequestDispatcher("/index.jsp").forward(request, response);
}
index.jsp的代碼:
<h2>Choose authors:</h2>
<form method="get">
<input type="checkbox" name="author" value="Tan Ah Teck">Tan
<input type="checkbox" name="author" value="Mohd Ali">Ali
<input type="checkbox" name="author" value="Kumar">Kumar
<input type="checkbox" name="author" value="Peter Johnson">Peter
<input type="submit" value="Query">
</form>
<c:set var="authorName" value="${param.author}" />
</br>
<c:if test="${not empty authorName}">
<c:out value="${authorName}" />
</c:if>
</br>
<form action="test" method="POST">
First Name: <input type="text" name="name" size="20"><br />
Surname: <input type="text" name="email" size="20">
<br /><br />
<input type="submit" value="Submit">
</form>
<c:out value="${message}" />
當您提交其他形式的,他們有行動=「someServlet」,其中someServlet是現有的servlet? – 2013-02-21 15:08:15
另一種形式只是從複選框抓取作者姓名並顯示它,所以不會。 – Bird 2013-02-21 15:14:02