Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jsp/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java HttpServletRequest无法执行getParameter操作_Java_Jsp_Servlets_Request - Fatal编程技术网

Java HttpServletRequest无法执行getParameter操作

Java HttpServletRequest无法执行getParameter操作,java,jsp,servlets,request,Java,Jsp,Servlets,Request,以下是JSP中的代码: <li> <input type="hidden" name="testID" value="mot0000001"> <a href="${pageContext.request.contextPath}/LoadTestDetails">Sample Test</a> </li> 这里LoadTestDetails是servlet的名称。servlet在打印testID时通过out.p

以下是JSP中的代码:

<li>  
   <input type="hidden" name="testID" value="mot0000001">
   <a href="${pageContext.request.contextPath}/LoadTestDetails">Sample Test</a>
</li>

  • 这里
    LoadTestDetails
    是servlet的名称。servlet在打印
    testID
    时通过
    out.println(request.getParameter(“testID”))被调用我得到了输出:
    null

    当你点击链接时,你的浏览器只是执行一个HTTP
    GET
    请求。隐藏的
    输入
    字段的值将不会一起发送

    要获得想要的效果,请提交一个带有javascript的表单,或将该值作为URL参数附加,如下所示:

    <a href="${pageContext.request.contextPath}/LoadTestDetails?testID=mot0000001">
        Sample Test</a>
    
    
    
    表单提交会干扰浏览器导航(返回按钮),URL编码的参数将在URL中可见。选择你喜欢的

    使用Javascript提交表单示例:

    <form id="myForm" action="${pageContext.request.contextPath}/LoadTestDetails"
                method="POST">
        <input type="hidden" name="testID" value="mot0000001">
        <a href="#" onclick="document.getElementById('myForm').submit();">
            Sample Test</a>
    </form>
    
    
    
    发布您的servlet代码。是否可以不向url传递附加参数?@M.S.是的。请阅读我的答案,我提到了两种方法。如果您不希望它包含在URL中,请使用Javascript提交表单。已编辑并添加了如何使用Javascript提交表单的示例。