2016-05-17 47 views
0

我在一個jsp中調用一個javascript函數來點擊錨點標籤。 在jsp中,我有一個隱藏參數(actionID),它的值是我在調用javascript函數中設置的。 但是,當我試圖使用request.getParameter在servlet中獲取此值時,我沒有收到它。 請建議。servlet中的請求對象,沒有從jsp接收參數值

下面是代碼:

針對home.jsp:

<html> 
<head> 
<script type="text/javascript"> 
    function func1(str) { 
     document.getElementById("actionID").value = str; 
     document.forms["action"].submitTestPost.click(); 
    } 
</script> 

<title>Home</title> 
</head> 

<body> 

    <div class="menubar"> 
     <form id = "action" action="/" method="post"> 
      <input type="hidden" id="actionID"> 
      <a href="#" onclick="func1('ViewEmployeeDetails')"> View Employee Details </a><br> 
      <a href="#" onclick="func1('addLocation')"> Add New Location </a><br> 
      <a href="#" onclick="func1('addCluster')"> Add New Cluster/Sub Cluster </a><br> 
      <a href="#" onclick="func1('CreateReport')"> Generate Report </a><br> 
      <input type="submit" name="submitTestPost" value="x"> 
     </form> 
    </div> 

</body> 
</html> 

的web.xml:

<?xml version="1.0" encoding="UTF-8"?> 
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" id="WebApp_ID" version="3.0"> 
    <display-name>TestProj</display-name> 
    <welcome-file-list> 
    <welcome-file>Login.jsp</welcome-file> 
    </welcome-file-list> 
    <servlet> 
    <servlet-name>login</servlet-name> 
    <servlet-class>com.pkg.Login.LoginServlet</servlet-class> 
    </servlet> 
    <servlet> 
    <servlet-name>ViewEmployeeDetails</servlet-name> 
    <servlet-class>com.pkg.Employee.ViewEmployeeDetails</servlet-class> 
    </servlet> 
    <servlet> 
    <servlet-name>AddLocation</servlet-name> 
    <servlet-class>com.pkg.Login.AddLocationClusterInfo</servlet-class> 
    </servlet> 
    <servlet> 
    <servlet-name>AddCluster</servlet-name> 
    <servlet-class>com.pkg.Login.AddLocationClusterInfo</servlet-class> 
    </servlet> 
    <servlet> 
    <servlet-name>CreateReport</servlet-name> 
    <servlet-class>com.pkg.Login.ReportServlet</servlet-class> 
    </servlet> 


    <servlet-mapping> 
    <servlet-name>login</servlet-name> 
    <url-pattern>/login</url-pattern> 
    </servlet-mapping> 
    <servlet-mapping> 
    <servlet-name>ViewEmployeeDetails</servlet-name> 
    <url-pattern>/ViewEmployeeDetails</url-pattern> 
    </servlet-mapping> 
    <servlet-mapping> 
    <servlet-name>AddLocation</servlet-name> 
    <url-pattern>/addLocation</url-pattern> 
    </servlet-mapping> 
    <servlet-mapping> 
    <servlet-name>AddCluster</servlet-name> 
    <url-pattern>/addCluster</url-pattern> 
    </servlet-mapping> 
     <servlet-mapping> 
    <servlet-name>CreateReport</servlet-name> 
    <url-pattern>/CreateReport</url-pattern> 
    </servlet-mapping> 

</web-app> 

AddLocationClusterInfo.java

protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { 
    try { 
     System.out.println("actionID:"+request.getParameter("actionID"));        
    } 
    catch (Exception e) { 
     // TODO: handle exception 
    } 
} 
+0

我不能使用request.getParameter(「actionID」)在servlet中接收值。我得到一個空值或NULL值。 –

回答

0

您缺少name屬性在您hidden輸入(actionID)。

<input type="hidden" id="actionID"> 

請求參數按名稱屬性命名。這應該工作

<input type="hidden" id="actionID" name="actionID"> 
+0

嗨,我改變了代碼如下: ' and js function as ' 現在,我爲「actionID」參數獲取空值來代替NULL。 –