Можно ли вызвать контроллер, если исполняемый URL содержит слово, упомянутое в @RequestMapping соответствующего контроллера?
Вот мой код
@Controller
@RequestMapping({"/employee","/nonemployee","/temp"})
public class EmployeeController {
@Autowired
EmployeeService service;
@RequestMapping("/add")
public ModelAndView employee() {
ModelAndView modelAndView = new ModelAndView("emp/add", "command", new Employee());
return modelAndView;
}
@RequestMapping("/employees")
public ModelAndView getEmployeeList() {
ModelAndView modelAndView = new ModelAndView("/emp/employees", "list", service.getEmployeeList());
return modelAndView;
}
@RequestMapping(value = "/create")
public String createEmployee(@ModelAttribute Employee employee, ModelMap model) {
service.newEmployee(employee);
model.addAttribute("name", employee.getName());
model.addAttribute("age", employee.getAge());
model.addAttribute("id", employee.getId());
return "/emp/create";
}
}
Использование приведенного выше кодас @RequestMapping({"/employee","/nonemployee","/temp"})
и @RequestMapping("/employees")
мы можем вызвать следующие URL для перечисления значений:
http://localhost:8080/Spring/employee/employees
http://localhost:8080/Spring/nonemployee/employees
http://localhost:8080/Spring/temp/employees
При внимательном наблюдении мы видим соответствующее слово emp во всех трех словах / значениях, передаваемых в RequestMapping.Итак, я ищу способ использования Controller, если в URL-адресе содержится слово emp .
При выполнении следующегоURL-адреса, список значений должны возвращаться тем же методом (getEmployeeList()
), но без передачи нескольких или всех значений в RequestMapping Аннотация:
http://localhost:8080/Spring/employee/employees
http://localhost:8080/Spring/nonemployee/employees
http://localhost:8080/Spring/temp/employees
http://localhost:8080/Spring/exempt/employees
http://localhost:8080/Spring/attempt/employees