2016-05-17 2 views
0

Я вызываю функцию javascript при щелчке якорных тегов в jsp. В jsp у меня есть один скрытый параметр (actionID), значение которого я настраиваю в вызываемой функции javascript. Но когда я пытаюсь извлечь это значение в сервлет с помощью request.getParameter, я его не получаю. Пожалуйста, предложите.запрашивать объект в сервлете, не получая значение параметра из 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"). Я получаю пустое значение или значение NULL. –

ответ

0

Вам не хватает name атрибут в вас hidden вход (actionID).

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

Параметры запроса названы по атрибуту name. Это должно работать

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

Привет, я изменил код, как показано ниже: ' и js function as ' Теперь я получаю пустое значение вместо NULL для параметра «actionID». –

Смежные вопросы