2016-09-29 93 views
0

我有一個表單來註冊一個事件。在這個表單中有兩個用於用戶電子郵件和事件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中使用了它,並且它工作正常。

請幫幫我!可能我正在做一些完全錯誤的事情,但我找不到我的錯誤。

As you can see here

+0

發佈您的servlet類和網頁 –

+0

是的...檢查鏈接,你可以看到,值被傳輸... –

+0

但是,如果你已經註冊,你會看到簽名表格。這會導致問題嗎?它與SignOff Servlet的調用形式相同 - –

回答

1

使用的request.getParameter代替request.getAttribute( 「ID」)( 「ID」)。使用getParameter方法檢索HTML表單字段。

如果仍然爲空,請重新啓動服務器並重新部署應用程序。如果在完成所有仍然爲空的操作後,請重新安裝Web容器。

+0

非常感謝。解決了。 –