Java HttpServletRequest无法执行getParameter操作
以下是JSP中的代码: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
<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
当你点击链接时,你的浏览器只是执行一个HTTPGET
请求。隐藏的输入
字段的值将不会一起发送
要获得想要的效果,请提交一个带有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提交表单的示例。