所以,我的表单看起来像这样:
<form role="form" method="post" id="upload-form" action="">
<select class="form-control" name="category" style="margin: 0.5em">
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
<option value="5">5</option>
</select>
<button type="submit">Submit</button>
</form>
我的JavaScript代码是:
$("button").click(function(e){
e.preventDefault();
var request = $.ajax({
url: '/pos/csvUpload,
data: new FormData(document.getElementById("upload-form")),
enctype: 'multipart/form-data',
processData: false,
contentType: false,
type: 'POST'
});
// request callbacks...
});
我的Java代码就像这样处理它:
@RequestMapping(value = "/pos/csvUpload", method = RequestMethod.POST)
public ResponseEntity<String> csvUpload(Model model,
MultipartHttpServletRequest request,
HttpServletResponse response
) throws Exception
{
String category = request.getParameter("category");
...
}
(注意我有MultipartHttpServletRequest;它对我来说是必要的,因为我在那里有一个文件输入,使用该类来解析它。)
当我浏览教程和更多在线SO帖子时,他们都告诉我使用request.getParameter。但是,当我使用它时,它会返回null
。
答案 0 :(得分:0)
当您使用 listBox 时,请使用HttpServletRequest#getParameter 值(), 这将返回值数组而不是单值。
您可以参考java doc here。
String[] category = request.getParameterValues("category");