2014-10-07 51 views
0

Form.jsp的request.getParameter在JSP

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> 
<html> 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> 
<title>Form</title> 
<body bgcolor="#FFFFFF" text="#000000"> 

<h1>Please enter your details</h1> 

<form name="RegistrationForm" action="NewUser" method="post"> 
    <table cellspacing="5" cellpadding="5" border="1"> 
     <tr> 
      <td align="right">First Name:</td> 
      <td><input type="text" name="NewFirstName"></td> 
     </tr> 
     <tr> 
      <td align="right">Last Name:</td> 
      <td><input type="text" name="NewLastName"></td> 
     </tr> 
     <tr> 
      <td align="right">Email Address:</td> 
      <td><input type="text" name="EmailAddress"></td> 
     </tr> 
     <tr> 
      <td align="right">Phone Number:</td> 
      <td><input type="text" name="Phone Number"></td> 
     </tr> 
     <tr> 
      <td align="right">Semester</td> 
      <td><input type="text" name="Semester"></td> 
     </tr> 

    </table> 
    <input type="submit" value="Submit"> 
</form> 

</body> 
</html> 

NewUser.java(servlet類)

package com.seria.quiz; 

import java.io.IOException; 
import java.io.PrintWriter; 
import java.sql.Connection; 
import java.sql.DriverManager; 
import java.sql.PreparedStatement; 

import javax.servlet.ServletException; 
import javax.servlet.annotation.WebServlet; 
import javax.servlet.http.HttpServlet; 
import javax.servlet.http.HttpServletRequest; 
import javax.servlet.http.HttpServletResponse; 

/** 
* Servlet implementation class NewUser 
*/ 
@WebServlet("/NewUser") 
public class NewUser extends HttpServlet { 
    private static final long serialVersionUID = 1L; 

    /** 
    * @see HttpServlet#HttpServlet() 
    */ 
    public NewUser() { 
     super(); 
     // TODO Auto-generated constructor stub 
    } 

    /** 
    * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse 
    *  response) 
    */ 
    protected void doGet(HttpServletRequest request, 
      HttpServletResponse response) throws ServletException, IOException { 
     // TODO Auto-generated method stub 
    } 

    /** 
    * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse 
    *  response) 
    */ 
    protected void doPost(HttpServletRequest request, 
      HttpServletResponse response) throws ServletException, IOException { 
     response.setContentType("text/html"); 
     PrintWriter pw = response.getWriter(); 
     Connection conn = null; 

     try { 
      String FirstName = request.getParameter("firstName"); 
      System.out.println("Your firstname: " + FirstName); 
      String LastName = request.getParameter("lastName"); 
      System.out.println("Your LastName: " + LastName); 
      String Emailid = request.getParameter("email"); 
      String PhoneNumber = request.getParameter("phoneNumber"); 
      String Semester = request.getParameter("semester"); 

      Class.forName("com.mysql.jdbc.Driver"); 
      conn = DriverManager.getConnection(
        "jdbc:mysql://localhost:3306/seriaquiz", "root", "root"); 
      PreparedStatement pst = (PreparedStatement) conn 
        .prepareStatement("insert into formdetails(firstName,lastName,email,phoneNumber,semester) values(?,?,?,?,?)");// try2 
                                    // the 
                                    // name 
      pst.setString(1, FirstName); 
      System.out.println("Your firstname1: " + FirstName); 
      pst.setString(2, LastName); 
      System.out.println("Your LastName1: " + LastName); 
      pst.setString(3, Emailid); 
      pst.setString(4, PhoneNumber); 
      pst.setString(5, Semester); 

      int i = pst.executeUpdate(); 
      String msg = " "; 
      if (i != 0) { 
       msg = "Record has been inserted"; 
       pw.println("<font size='6' color=blue>" + msg + "</font>"); 

      } else { 
       msg = "failed to insert the data"; 
       pw.println("<font size='6' color=blue>" + msg + "</font>"); 
      } 
      pst.close(); 
     } catch (Exception e) { 
      pw.println(e); 
     } 

    } 

} 

正如標題所說的request.getParameter每次都返回空返回null。我在requestParameter之後放置了sysout語句,並顯示空值。任何幫助將不勝感激。對不便,我很新。

+2

嘗試'用request.getParameter( 「NewFirstName」)'以配合在JSP中的名字指定的名稱。或改變在jsp的'​​' – Braj 2014-10-07 08:44:30

+0

我不能相信我犯了這個錯誤,但它的工作!謝謝你們所有人! – zydexo 2014-10-07 09:38:36

+0

這很酷,但請接受答案。 – 2014-10-07 23:54:24

回答

1

在Servlet中的參數名稱需要在JSP

匹配他們這麼

String FirstName = request.getParameter("firstName"); 

應該

String FirstName = request.getParameter("NewFirstName"); 
0

你所要求的錯誤參數 你應該總是問同樣的id /名稱描述在您的html

request.getParameter("NewFirstName"); 
0

從w3.org部分17.2控件

用戶通過命名控制形式的互動。

控件的「控件名稱」由其名稱名稱屬性給出。 FORM元素中的控件的名稱屬性範圍是FORM元素。

提交表單處理時,某些控件的名稱與其當前的
值配對,並且這些對與表單一起提交。控制的


實施例是您的

<input type="text" name="NewFirstName"> 

所以當形式被提交,它包含一個控制名=值例如http://www.w3.org/TR/html401/interact/forms.html

0

得到一個形式參數的準確值試試這個:

NewFirstName=YourFirstName 

在你的JSP,你應該把它用在控制名稱

String FirstName = request.getParameter("NewFirstName"); 


參考做訪問。 ...

String FirstName = request.getParameter(「NewFirst名稱」);

因爲..

你說 'NewFirstName' 指定名稱屬性...

相關問題