2017-03-19 73 views
0

空這是我的jsp:請求paremeters似乎是在servlet的

<form method='post' action='/controller'> 
    <div > 
     <input class="form-control" type="text" id="name-input-field" pattern="[A-Z][a-z]+([ -][A-Z][a-z]+)*" required > 
    </div>       
</form> 

這是我的servlet:

protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { 
     req.getParameter("name-input-field");//appears null  
} 

請幫我看看這個錯誤。

+0

首先,使用瀏覽器的調試工具給我請檢查正在發送的請求。 (如果可能的話,使用類似Spring MVC的東西,而不是手工處理servlet - 這使得生活變得非常容易,特別是在Spring Boot中。) – chrylis

回答

6

getParameter()方法取標記的name屬性而不是id屬性。它返回inputvalue屬性的值。

name="name-input-field"加入您的input標記以獲取其值Servlet

+0

我們可以有相同的id和名字嗎? –

+0

是@RamzahRehman你可以有相同的名稱和編號相同的組件 –

+0

當然,它們可以是相同的。 – Yogesh

1

由於約傑什說req.getParameter使用的名字,但你也必須知道這一點:

想象一下這樣的情景:

您必須禁用輸入選項或任何你可以在你的HTML中使用這:

<input type="text" name="ame-input-field" disabled><br> 

那麼高級,你會得到一個空,因爲禁止輸入端不會在您的要求發送;),所以要小心

相關問題