2014-06-10 160 views
0

所以我有一個JSP用隨機生成的「鑰匙」的網址內,這將是這樣的:傳遞URL參數Servlet的

url.com/reset.jsp?key=1234 

我的JSP有一個表單內兩個文本輸入

<form action="ResetServlet" method="post" enctype="multipart/form-data"> 
<input type="text" name="firstname" size="24" value=""> 
<input type="text" name="lastname" size="24" value=""> 
</form> 

而且我想送3個參數:從URL關鍵,「名字」的用戶輸入,和「姓氏」用戶輸入到我的Java servlet代碼。如何從我的Servlet代碼讀取3個參數?任何人都可以向我指出一個教程或解釋我可以如何做到這一點?謝謝。

編輯: 所以我寫了下面這個簡單的servlet代碼:

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

    String firstname = request.getParameter("firstname"); 
    String lastname = request.getParameter("lastname"); 
    String key = request.getParameter("key"); 

    response.setContentType("text/html"); 

    PrintWriter out = response.getWriter(); 
    out.println("<h1>" + "Hello: " + firstname + " " + lastname + ". key: " + key + "</h1>"); 
} 

並顯示:

您好:空空。關鍵字:null

無論我輸入什麼。我究竟做錯了什麼?

+0

http://met.guc.edu.eg/OnlineTutorials/JSP%20-%20Servlets/A%20servlet%20example.aspx –

+0

更新了以下答案,現在作品 – raffian

回答

1

只需在頁面呈現時保存key參數。

<!-- declare at top of JSP --> 
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> 

<form action="ResetServlet" method="post" enctype="multipart/form-data"> 
    <input type="text" name="firstname" size="24" value=""> 
    <input type="text" name="lastname" size="24" value=""> 

    <input type="hidden" name="key" value="<c:out value='${param.key}'/>"> 
</form> 
0

您可以使用HttpServletRequest.getParameter(String)方法。例如,

public class ResetServlet extends HttpServlet { 
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException { 
    String firstName = request.getParameter("firstname"); 
    String lastName = request.getParameter("lastname"); 
    String key  = request.getParameter("key"); 
    } 
} 
0

人們可以使用的request.getParameter( 「變量名」)從查詢字符串讀參數;

你的情況

這將是

.....doPost(HttpServletRequest request, HttpServletResponse response) { 
    String firstName = request.getParameter("firstname"); 
    String lastName = request.getParameter("lastname"); 
    String key  = request.getParameter("key"); 
} 
+0

謝謝。我試了代碼,但它不工作 – baekacaek

+0

我認爲它應該工作..請檢查行動和路徑正確。 – Jamin

+0

請問你發佈你的web.xml文件。 – Jamin

0

在表單標籤只是刪除加密類型的一部分。