我有一個登錄頁面,其表單操作爲j_security_check。截至目前這種形式只有兩個字段,即用戶名 和密碼。我想添加一個新的下拉列表到這個表格,並使用 @RequestParam
收集控制器中的選定值。出於某種原因,我無法將此下拉值從JSP傳遞到我的控制器,因爲它拋出了 exception: MissingServletRequestParameterException
(任何時候發生請求參數丟失)。
在下面的代碼中,我添加了Visuals下拉菜單。我需要在這裏使用Spring:Bind
標籤嗎? 也成功登錄時,該控件被定向到一個控制器與請求映射/controller1.html,這是 我試圖收集下拉值。Spring MVC Request Param
<form name="appLogin" action="j_security_check" method="POST">
<table width="100%">
<tr>
<td align="center">
<table>
<tr>
<td>Username: </td>
<td><input id="userName" name="j_username" value=""/></td>
</tr>
<tr>
<td>Password: </td>
<td><input name="j_password" type="password" value="" /></td>
</tr>
<tr>
<td>Visual: </td>
<td><Select name="visuals" id="visuals"/>
<option value="S1">S1</option>
<option value="S2">S2</option>
<option value="S3">S3</option>
<option value="S4">S4</option>
</Select>
</td>
</tr>
</table>
<table>
<tr>
<td>
<button type="submit" name="submit" value="Sign In">Sign In</button>
<input type="submit"/>
</td>
</tr>
</table>
</div>
</div>
</td>
</tr>
</table>
</form>
控制器代碼:
@RequestMapping(value = " /controller1.html", method = RequestMethod.GET)
public String setupForm(@RequestParam(value = "visuals", required=false) String visuals,
ModelMap model)
{
List<String> studentNames = new ArrayList<String>();
List<String> teacherNames = new ArrayList<String>();
model.addAttribute("someData", teacherNames);
model.addAttribute("anotherData", studentNames);
model.addAttribute("visuals", visuals);
log.info("Role from Dropdown: " + visuals);
return "school/classTen";
}
和帶有@RequestParam的控制器方法看起來像什麼? –
它只是一個返回ArrayLists對的簡單方法。 – t0mcat
我問,因爲不知道控制器的方法是什麼樣子,這是難以置信的難以排除故障。 –