Servlet getParameter()返回null,但传输值
问题描述:
我有一个表单来注册一个事件。在这个表单中有两个用于用户电子邮件和事件ID的隐藏字段。正如你可以看到下面。Servlet getParameter()返回null,但传输值
<form action="EventRegister" method="POST">
<input type="hidden" name="id" value="${events.Id}">
<input type="hidden" name="email" value="${pageContext.request.userPrincipal.name}">
<button type="submit" class="btn btn-primary">Anmelden</button>
</form>
当我致电该行失败了Servlet:
Integer event = Integer.valueOf(request.getAttribute("id"));
String email = request.getAttribute("email");
,并抛出异常。 getParameter()
方法也不起作用。 Integer event
抛出一个NumberFormatException
,String email
也是空的。我已经尝试了其中一个,更改了他们的名字等等。但他们仍然是空的!
java.lang.NumberFormatException: For input string: "null"
奇怪的是,值被传输。正如你可以在Chrome的开发工具中看到的(链接在最后)。我找不到任何错误。我已经在很多servlet中使用了它,并且它工作正常。
请帮帮我!可能我正在做一些完全错误的事情,但我找不到我的错误。
答
使用的request.getParameter代替request.getAttribute( “ID”)( “ID”)。使用getParameter方法检索HTML表单字段。
如果仍然为空,请重新启动服务器并重新部署应用程序。如果在完成所有仍然为空的操作后,请重新安装Web容器。
+0
非常感谢。解决了。 –
发布您的servlet类和网页 –
是的...检查链接,你可以看到,值被传输... –
但是,如果你已经注册,你会看到签名表格。这会导致问题吗?它与SignOff Servlet的调用形式相同 - –