2016-12-16 58 views
0

我需要將此servlet轉換爲jsp。困惑於doGet和doPost兩種方法都是用servlet編寫的,那麼如何在JSP中轉換/處理這種場景呢?Servlet-> JSP COnversion

我們是否需要爲doPost和doGet函數創建不同的jsp頁面?請指明使用jsp代碼。

謝謝

import java.io.*; 

import java.util.*; 

import javax.servlet.*; 

import javax.servlet.http.*; 

public class RequestParamExample extends HttpServlet { 

public void doGet(HttpServletRequest request, HttpServletResponse 

response) 

throws IOException, ServletException 

{ 

response.setContentType("text/html"); 

PrintWriter out = response.getWriter(); 

out.println("GET Request. No Form Data Posted"); 

} 

public void doPost(HttpServletRequest request, HttpServletResponse res) 

throws IOException, ServletException 

{ 

Enumeration e = request.getParameterNames(); 

PrintWriter out = res.getWriter(); 

while (e.hasMoreElements()) { 

String name = (String)e.nextElement(); 

String value = request.getParameter(name); 

out.println(name + " = " + value); 

} 
} 
} 

回答

0

在servlet中你可以得到的請求方法(GET,POST,...):

request.getMethod() 

裏面一個JSP你可以做相同:

${pageContext.request.method} 

一個示例如何區分b切口白內障手術挽請求方法與JSP:

<!DOCTYPE html><%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%> 
<html> 
<head> 
<title>getMethod</title> 
</head> 
<body> 
    <form method="get"> 
     <input type="submit" value="Test method: GET"/> 
    </form> 
    <hr> 

    <form method="post"> 
     <input type="text" name="p1" value="v1"><br> 
     <input type="text" name="p2" value="v2"><br> 
     <input type="submit" value="Test method: POST"/> 
    </form> 
    <hr> 

    <h4>results:</h4> 
    <c:if test="${pageContext.request.method == 'GET'}"> 
     GET Request. No Form Data Posted 
    </c:if> 

    <c:if test="${pageContext.request.method == 'POST'}"> 
     POST Request. Form Data:<br> 
     <c:forEach items="${param}" var="p"> 
      ${p.key} = "${p.value}"<br> 
     </c:forEach> 
    </c:if> 
</body> 
</html> 

如果要拆分的doPost.jspdoGet.jsp代碼,請用下面的最後一節:

<h4>results:</h4> 
<c:if test="${pageContext.request.method == 'GET'}"> 
    <%@include file="doGet.jsp" %> 
</c:if> 

<c:if test="${pageContext.request.method == 'POST'}"> 
    <%@include file="doPost.jsp" %> 
</c:if>