我正在开发一个使用 Spring 框架 3.1.0 版开发的 Web 应用程序。
我有一个 JSP 页面,其中包含一个表单,该表单允许用户从 SELECT 下拉列表框中选择一个国家/地区。提交表单应该运行数据库查询并返回相同的 JSP 页面,其中包括表单以及所选国家/地区的作者和机构数据的 HTML 表。
下面是 JSP 页面的部分代码:
<c:url var="submitUrl" value="/authorsInstitutes.htm"/>
<form:form action="${submitUrl}" method="POST">
<select id="countryCode">
<option value="-1">-- Please Select --</option>
<c:forEach var="country" items="${countryList}">
<option value="${country.countryCode}">${country.countryName}</option>
</c:forEach>
</select>
<input type="submit"/>
</form:form>
这是控制器类的代码,用于处理“GET”和“POST”请求的方法:
@RequestMapping(value = "/authorsInstitutes", method = RequestMethod.GET)
public ModelAndView displayAuthorsInstitutesForm() {
ModelAndView mav = new ModelAndView("authorsInstitutes");
List<Country> countryList = countrySrv.findAll();
mav.addObject("countryList", countryList);
return mav;
}
@RequestMapping(value = "/authorsInstitutes", method = RequestMethod.POST)
public ModelAndView displayAuthorsInstitutes(
@RequestParam(value = "countryCode") String country) {
ModelAndView mav = new ModelAndView("authorsInstitutes");
List<Country> countryList = countrySrv.findAll();
mav.addObject("countryList", countryList);
if (country != null && !country.trim().equals("")) {
List<Affiliation> affiliationList =
affiliationSrv.getAffiliationsByCountryCode(country);
mav.addObject("affiliationList", affiliationList);
}
return mav;
}
'GET' 请求工作正常,但是当我选择一个国家并提交表单时,我收到 404 错误消息:
HTTP 状态 400 -
类型状态报告
消息
描述客户端发送的请求在语法上不正确 ()。
我确信这很简单,但对于我的生活,我只是没有看到我做错了什么。我将不胜感激任何帮助解决这个问题,谢谢。