Spring Roo Petclinic menu.jspx и Controller. Как это работает? - PullRequest
0 голосов
/ 29 декабря 2010

FYI. Я опубликовал это на форуме Spring Roo, но не получил ответа.

Это очень простой вопрос от новичка.

Вопрос касается того, как Контролер знает, как направлять ссылку в меню, например, из примера петклиники

</p> <pre><code><menu:item id="i_pet_new" messageCode="global_menu_new" url="/pets?form" z="SwmuMoL7UBbDU/gqHy+t5Tl0Ins="/>

В настоящее время я понимаю, что

@RequestMapping("/pets")

@Controller

 public class PetController {

}

Обрабатывает часть url = "/ pet", но

Как Контроллер знает, как обрабатывать оставшуюся часть? Часть с надписью «? Form»?

Раньше я делал простые проекты MVC, и у меня был бы некоторый код внутри класса PetController, который делал бы что-то вроде:

</p> <pre><code>@RequestMapping("/helloWorld") public ModelAndView helloWorld() { ModelAndView mav = new ModelAndView(); mav.setViewName("helloWorld"); mav.addObject("message", "Hello World!"); return mav; }

В текущем примере нет дополнительных методов для обработки ModelAndView!

Спасибо за помощь.

1 Ответ

1 голос
/ 29 декабря 2010

Вы заметите файл PetController_Roo_Controller.aj, созданный в той же папке, что и PetController.java.Это содержит соответствующий код для обработки этого.В частности,

@RequestMapping(params = "form", method = RequestMethod.GET)
    public String PetController.createForm(Model model) {
        model.addAttribute("pet", new Pet());
        return "pets/create";
    }

Roo заботится о операциях CRUD для вас.

...