【发布时间】:2019-04-24 08:48:41
【问题描述】:
我有这样的表格:
<form action="/list/${tableName}" method="post">
<p>
<select name="tableName">
<option value="employees">Employees</option>
<option value="contracts">Contracts</option>
</select>
</p>
<input type="submit" value="Submit" />
</form>
在控制器端:
@RequestMapping(value = "/list/{tableName}", method = { RequestMethod.POST, RequestMethod.GET })
public String getTables(Model m, @PathVariable("tableName") String tableName) {
...
//findAll here
...
return "home";
}
它写“未找到” P.S.:现在@PathVariable 曾经是@RequestParam,因为我也在正文中使用它。 如何将选项作为变量传递给控制器,以便在使用 findAll 列出表数据时获得列表/员工和列表/合同?
【问题讨论】:
-
如果您需要额外的数据或澄清一些问题,请随时询问!
-
我认为@RequestParam 应该在这种情况下工作。您能否解释一下“我也在体内使用它”是什么意思?
-
看来,当您提交表单时,url '/list/${tableName}' 并没有解析 'tableName' 变量。尝试将 ${tableName} 替换为任何硬编码值,以检查控制器是否正常工作。
-
感谢您的回答!完整的 getTables 是:
<code>@RequestMapping(value = "/list/{tableName}", method = { RequestMethod.POST, RequestMethod.GET }) public String getTables(Model m, @PathVariable("tableName") String tableName ) { 整数 idPrepend = spravochnikService.getIdAtSpravName(tableName); ListspravList = spravochnikService.findAll(tableName); m.addAttribute("spravList", spravList); m.addAttribute("tableName", tableName); m.addAttribute("idPrepend", idPrepend);回家”; } </code>
标签: java spring spring-mvc jsp jstl