【发布时间】:2017-02-07 15:58:56
【问题描述】:
我有一个表格可以报名参加一个活动。在此表单中有两个隐藏字段,用于用户电子邮件和事件 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 抛出 NumberFormatException,String email 也为空。我已经尝试过其中一个,更改了他们的名字等等。但它们仍然为空!
java.lang.NumberFormatException: For input string: "null"
奇怪的是,值是被传输的。正如您在 Chrome 的开发者工具中看到的那样(链接在最后)。我找不到任何错误。我已经在许多 servlet 中使用它,它工作正常。
请帮帮我!可能我做错了什么,但我找不到我的错误。
【问题讨论】:
-
发布您的 servlet 类和网页
-
是的...检查链接,如您所见,值已传输...
-
但是如果你已经注册了,你会看到签字表格。这会导致问题吗?这是相同的形式,但 SignOff Servlet 被称为-
-
请检查您的servlet中的所有参数,是否传输,您不能通过浏览器控制台检查来确定。
-
我该怎么做? :) 抱歉,我对 Web 并没有什么经验。