Spring MVC, вызовите контроллер, если слово, упомянутое в RequestMapping, совпадает в URL - PullRequest
0 голосов
/ 26 мая 2018

Можно ли вызвать контроллер, если исполняемый 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 для перечисления значений:

  1. http://localhost:8080/Spring/employee/employees
  2. http://localhost:8080/Spring/nonemployee/employees
  3. http://localhost:8080/Spring/temp/employees

При внимательном наблюдении мы видим соответствующее слово emp во всех трех словах / значениях, передаваемых в RequestMapping.Итак, я ищу способ использования Controller, если в URL-адресе содержится слово emp .

При выполнении следующегоURL-адреса, список значений должны возвращаться тем же методом (getEmployeeList()), но без передачи нескольких или всех значений в RequestMapping Аннотация:

  1. http://localhost:8080/Spring/employee/employees
  2. http://localhost:8080/Spring/nonemployee/employees
  3. http://localhost:8080/Spring/temp/employees
  4. http://localhost:8080/Spring/exempt/employees
  5. http://localhost:8080/Spring/attempt/employees

1 Ответ

0 голосов
/ 27 мая 2018

Измените сопоставление запроса на -

               @RequestMapping("/*emp*")

Это должно работать для того, что вы хотите сделать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...