【发布时间】:2016-10-26 19:19:09
【问题描述】:
这是我在 JSP 文件中的表单:
<p class="lead">Check out the books in my store...</p>
<form:form action="${pageContext.request.contextPath}/bookListByCategory">
<select path="category">
<option value="Programming">Programming</option>
<option value="Fiction">Fiction</option>
<option value="Biography">Biography</option>
<option value="Travel">Travel</option>
</select>
<input type="submit" name="submit" value="submit" />
</form:form>
表单发送到方法:
@RequestMapping(value = "/bookListByCategory/{category}")
public String getBooksByCategory(@PathVariable String category, Model model) {
List<Book> bookListByCategory = bookService.getBookListByCategory(category);
model.addAttribute("books", bookListByCategory);
model.addAttribute("category", category);
return "bookList";
}
由于某种原因它不起作用,我可以在浏览器中看到以下内容:
当我点击“提交”时,它会显示 404:
我可以看到所选选项的值没有发送到控制器,这是处理请求所必需的。有什么想法吗?
【问题讨论】:
-
你的应用的上下文路径是什么?
-
尝试为
<select>命名,就像<select path="category" name="category">一样 -
感谢拉希鲁阿山!我忘了在选择标签中包含
name="category"。这里不需要 path="category",因为它不是 form:select,现在它可以正常工作了。
标签: spring jsp spring-mvc