有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java Servlet getParameter()返回null,但会传输该值

我有一张参加活动的表格。此表单中有两个隐藏的用户电子邮件和事件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) 个答案

  1. # 1 楼答案

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

    如果仍然为空,请重新启动服务器并重新部署应用程序。如果在完成所有这些之后仍然得到空值,请重新安装web容器