我有一个使用此方法呈现的视图:
@RequestMapping("/employee/{id}")
public String showSpecificEmployee(@PathVariable String id, Model model){
model.addAttribute("employee", employeeService.findEmployeeById(new Long(id)));
DateCommand dateCommand = new DateCommand();
dateCommand.setEmployeeId(new Long(id));
model.addAttribute("date", dateCommand);
return "specificEmployee";
}
该视图显示有关Employee
的一些基本信息。在同一视图中,我有一个表单来选择月份并按Date
过滤信息。
选择Date
后,我希望使用更新的信息“刷新”视图。这意味着我确实有一个POST& GET方法绑定到同一视图。
@RequestMapping("/passdate")
public String updateWorkmonth(@ModelAttribute DateCommand dateCommand, Model model){
model.addAttribute("employee", employeeService.findEmployeeWithFilteredWorkdaysAndPayments(dateCommand.getEmployeeId(), dateCommand.getActualDate()));
model.addAttribute("date", dateCommand);
return "specificEmployee";
}
调用第二个方法后看起来像
http://localhost:8080/passdate?employeeId=1&actualDate=2018-02
,但我希望它是/employee/{id}
。如何组合这两种方法,以便它们指向相同的URL?
如果我在两种方法上设置@RequestMapping("/employee/{id}")
,我会一直收到错误。
答案 0 :(得分:1)
您实际上只需要一个 GET方法
@RequestMapping(value = "/employee/{id}",method = RequestMethod.POST)
并可选择传递
@RequestMapping("/employee/{id}")
答案 1 :(得分:0)
您可以在<script src="https://cdn.jsdelivr.net/npm/vue@2.5.13/dist/vue.js"></script>
<div id="sample">
<div v-for="n in numbers">
{{n}}
<div v-for="l in getLeadingNbs(n)">
....{{l}}
</div>
<br>
</div>
</div>
参数
HTTP
请求类型
如果您未指定,则默认使用@RequestMapping
GET
答案 2 :(得分:0)
您可以将用户重定向到该网址。只需在方法updateWorkmonth
中替换一行
return "specificEmployee";
与
return "redirect:/employee/" + dateCommand.getEmployeeId();