Servlet getParameter()返回null但传输的值

时间:2016-09-29 10:56:53

标签: java html forms servlets

我有一张表格可以报名参加活动。在此表单中有两个用于用户电子邮件和事件ID的隐藏字段。如下所示。

<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引发NumberFormatExceptionString email也为空。我已经尝试了其中一个,更改了他们的名字等等。但它们仍然是空的!

java.lang.NumberFormatException: For input string: "null"

奇怪的是,值被传输。正如您在Chrome的开发者工具中看到的那样(最后的链接)。我找不到任何错误。我已经在许多servlet中使用它,它工作正常。

请帮帮我!可能我做错了什么,但我找不到我的错误。

As you can see here

1 个答案:

答案 0 :(得分:1)

使用request.getParameter(“id”)而不是request.getAttribute(“id”)。使用getParameter方法检索HTML表单字段。

如果仍然为null,请重新启动服务器并重新部署应用程序。如果完成所有操作后仍然无效,请重新安装Web容器。

相关问题