Разработка аннотаций MVC означает развитие класса на основе аннотаций. Для каждого определенного процессора нет необходимости регистрироваться в XML.
Регистрация завершается просто аннотирующими классами и методами в коде.
Определите процессор
@Controller: текущий класс - это процессор
@Requestmapping: текущий метод - это метод процессора, имя метода является произвольным, и запрос обрабатывается и отвечает.
@Controller public class mycontroller {@requestmapping (value = "/Hello.do") public modelandView docontrol (httpservletrequest, httpservletresponse response) {modelandView mv = new ModelAndView (); mv.addobject («Сообщение», «Метод выполнения»); MV.SetViewName ("Добро пожаловать, Нил!"); вернуть MV; }} Запрос может быть ограничено, например,
Скопируйте код следующим образом: @RequestMapping (value = "/hello.do", params = {"name = neil", "! Age"}, method = requestMethod.post)
method = requestMethod.post ограниченный тип отправки для публикации
params = {"name = neil", "! Age"} Имя параметра должно быть сохранено в ограниченном запросе, значение - Neil, а возраст параметров не может быть перенесен.
Принять параметры запроса
Если имя параметра в запросе такое же, как и имя параметра метода процессора, то его можно получить напрямую.
@Requestmapping (value = "/hello.do") public modelandview docontroll (string name, int age) {system.out.println ("name:" + name + ", age:" + age); ModelAndView MV = New ModelAndView (); вернуть MV; }Если имена параметров непоследовательны, вам нужно найти его через @RequestParam.
@RequestParam имеет три свойства
Копия кода следующим образом: Docontroll (@RequestParam (name = "username") name, @requestparam (name = "userage") int age)
Переменная путь @pathvariable
Параметры в методе процессора могут исходить из параметров, переносимых запросом, или из переменных в URI, то есть переменные пути.
Как и обычные параметры, упомянутые выше, если имя переменной пути не соответствует имени параметра, которое получает его значение, вам необходимо указать имя переменной пути через параметры.
Как показано ниже, обратите внимание на имя пользователя и имя, возраст и возраст.
@Requestmapping (value = "/{username}/{age}/hello.do") public modelandview docontroll (@pathvariable ("usermeme") name, @requestparam int age) {System.out.println ("name:" + name + ", Age:" + Age); ModelAndView MV = New ModelAndView (); вернуть MV; }Метод процессора возвращает значение
Следующими четырьмя часто используемыми процессорами с аннотацией @Controller являются:
1, вернуться в модель и
После того, как метод процессора будет завершен, ему необходимо перейти на другие ресурсы и передавать данные между перенаправленными ресурсами, а затем возвращать модель и.
public modelandView docontroll () {modelandView modelandView = new ModelAndView (); // пройденная модель данных и модели данных. modelandView.setViewName ("/user.do"); return ModelandView; }2, вернуться в void
После обработки запроса нет необходимости прыгать, и процессор можно вернуть в void, например, асинхронный ответ Ajax асинхронного запроса.
Если вам нужно прыгнуть, вы также можете использовать Servletapi для отправки Riefrect или вперед.
3, объект возврата
Процессор может вернуть объект объекта, который не отображается как логическое представление, но используется для отображения данных непосредственно на странице.
Возвращаясь объекта объекта, вам необходимо использовать аннотацию @Responsebody, чтобы поместить преобразованные данные JSON в вес ответа.
@Requestmapping (value = "/hello.do") @Responsebody public modelandView docontroll () {return new Student ("neil", 998); } Фронт-энд получает данные
Fr.Ajax ({url: "hello.do", overse: function (data) {alert (data.name + "" + data.age);}})Точно так же вы можете вернуть список сбора, карту и т. Д.
@RequestMapping (value = "/hello.do") @Responsebody public modelAndView doControll () {list <toold> list = new ArrayList <tlood> (); list.add (новый студент ("A", 11)); list.add (новый студент ("b", 22)); list.add (новый студент ("C", 33)); вернуть список; } Fr.ajax ({url: "hello.do", overse: function (data) {$ (data).4, вернуться к строке
Может быть три сценария для возврата строки:
Логическое имя просмотра
Строка, возвращаемая процессором, может указать имя логического представления и преобразовать его в адрес физического представления через разрешение анализатора представления.
Окончательный процесс реального доступа = "префикс" + логическое представление имя + "суффикс"
Если вы не указали предварительный отборок, вы также можете напрямую вернуть имя физического представления, например, как
вернуть "/web-inf/admin/welcome.jsp"
Перенаправлять перенаправление
вернуть "перенаправление:/admin/next.action";
Это эквивалентно chass.sendredirect (). После пересылки адресная строка браузера становится перенаправленным адресом.
Поскольку инициируется новый запрос, исходные параметры не могут быть переданы в следующий URL при пересылке.
Если вы хотите передать параметры, вы можете сплачивать параметры после URL и A = 1 & B = 2
Перемесенная пересылка
вернуть "вперед:/admin/forward.action";
Это эквивалентно запросу.getRequestDispatcher (). Forward (запрос, ответ). После пересылки адресная строка браузера по -прежнему остается оригинальным адресом.
Переадресация не выполняет новый запрос и ответ, но разделяет запрос и ответ с запросом перед отправкой.
Параметры могут быть повторно использованы непосредственно перед пересылкой.
Выше всего содержание этой статьи. Я надеюсь, что это будет полезно для каждого обучения, и я надеюсь, что все будут поддерживать Wulin.com больше.