コントローラー1:spring mvcでオブジェクトをビューからコントローラに渡すにはどうすればよいですか?
@RequestMapping(value = "/allEmployees", method = RequestMethod.GET)
public String getAllEmployees(@ModelAttribute("employeeListForm") EmployeeListForm employeeListForm, HttpServletRequest request, HttpServletResponse response, Model model, BindingResult errors) throws Exception {
List<Employee> subList = null;
allEmployees = empService.getAllEmployees(categoryId);
employeeListForm.setAllEmployees("allEmployees");
employeeListForm.setCategory("IT");
model.addAttribute("etcSearchForm", etcSearchForm);
return ALL_EMP_VIEW;
}
コントローラー2:
@RequestMapping(value = "/EmployeeDetail", method = RequestMethod.GET)
public String getEmpDetail((@ModelAttribute("empDetailForm") EmployeeDetailForm empDetailForm, HttpServletRequest request, HttpServletResponse response, Model model, BindingResult errors) throws Exception {
/*there is no direct approach to get the employee by id how should I get the
employee object from list page to deatil page
*/
empDetailForm.setSalary(emp.getSalary());
empDetailForm.setTitle(emp.getTitle());
empDetailForm.setName(emp.getName());
model.addAttribute("empDetailForm", empDetailForm);
return ALL_EMP_Detail_Form;
}
ビュー:
<div th:if="${allEmplListForm.aAllEmployees.size() > 0}" th:each="emp : ${allEmplListForm.aAllEmployees}" th:object="${emp}" >
<a th:href="@{/EmployeeDetail)}" class="link">
<div><p class="name" th:text="*{name}"></p></div>
<div><p th:text="*{date}"></p> <p th:text="*{title}"></p></div>
<div><p class="salary" th:text="*{salary}"></p></div>
</a>
</div>
私は1つのページに従業員のリストを表示していると私は、従業員をクリックしたときにする必要があります私を詳細ページ(コントローラ2)に連れて行きます。そこには、IDや名前などの従業員を取得するための直接的なサービス方法はありません。
従業員オブジェクトをビューからコントローラに送信する方法を教えてください。詳細ページに行くべきリンクをクリックしてください。
どのようにリストしていますか?そのコードを表示できますか? – ChiefTwoPencils
私はあなたがAJAX呼び出しではなく、ビューからコントローラに何かを渡す必要がある場合、より多くの情報を追加する必要があると思います。 –
なぜあなたはサービスメソッドを書いていないのですか?従業員の行をクリックするとリストページが表示され、IDまたは名前で従業員の詳細を取得できます。 E. G./emp /(id)getリクエスト。 –