Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Java Новый топик    Ответить
 RequestMapping доступ к нескольким запросам на одной странице  [new]
pentogono
Member

Откуда:
Сообщений: 6
Доброго времени суток всем.
Не посоветуете новичку в доступе к нескольким запросам на одной странице.

На одной таблице надо сделать таблицы по годам (2016, 2017 и т.д.).
Как я понял в spring каждое отображение должно быть уникальным. Что надо сделать или чем дополнить код, чтобы работал и можно было написать несколько маппингов по разным годам?

+
@RequestMapping(value = "/page-results", method = RequestMethod.GET)
public String result2017(Model model) {
model.addAttribute("item2017", service.listAll2017());
return "page-results";
}

@RequestMapping(value = "/page-results", method = RequestMethod.GET)
public String result2016(Model model) {
model.addAttribute("item2016", service.listAll2016());
return "page-results";
}

sql-запрос: "SELECT id, name, year WHERE year='2017' ORDER BY name", "SELECT id, name, year WHERE year='2016' ORDER BY name",
24 фев 19, 23:42    [21818395]     Ответить | Цитировать Сообщить модератору
 Re: RequestMapping доступ к нескольким запросам на одной странице  [new]
mayton
Member

Откуда: loopback
Сообщений: 40500
Должен быть универсальный метод для всех годов.
service.listAll(int year){...}
25 фев 19, 00:31    [21818402]     Ответить | Цитировать Сообщить модератору
 Re: RequestMapping доступ к нескольким запросам на одной странице  [new]
mad_nazgul
Member

Откуда:
Сообщений: 4692
pentogono,

Так?!
@RequestMapping(value = "/page-results/{year}", method = RequestMethod.GET)
public String resultbyYear(@PathVariable("year")Integer  year,Model model) {
model.addAttribute("item"+year.toString(), service.listByYear(year));
return "page-results";
}
25 фев 19, 08:35    [21818451]     Ответить | Цитировать Сообщить модератору
 Re: RequestMapping доступ к нескольким запросам на одной странице  [new]
Озверин
Member

Откуда: Ростов-на-Дону
Сообщений: 5081
pentogono, на стороне контроллера лучше ограничиться параметром года, что-то типа:

@GetMapping(value = "/gradings")
public String getResults(@RequestParam(value = "years") int years[], Model model) {
 List<?> result = getByYear(years);
 model.addAttribute("item2017", service.listAll2017());
 return "page-results";
}


можно вместо массив List получить:

@GetMapping(value = "/gradings")
public String getResults(@RequestParam(value = "years") List<Integer> years, Model model) {
 List<?> result = getByYear(years);
 model.addAttribute("item2017", service.listAll2017());
 return "page-results";
}


Вызов может быть таким:

http://localhost:8080?years=2016&years=2017


или таким:

http://localhost:8080?years=2016,2017
25 фев 19, 08:48    [21818455]     Ответить | Цитировать Сообщить модератору
 Re: RequestMapping доступ к нескольким запросам на одной странице  [new]
pentogono
Member

Откуда:
Сообщений: 6
mayton,
Нужно для каждого года отдельный маппинг.
25 фев 19, 19:43    [21819083]     Ответить | Цитировать Сообщить модератору
 Re: RequestMapping доступ к нескольким запросам на одной странице  [new]
mayton
Member

Откуда: loopback
Сообщений: 40500
pentogono
mayton,
Нужно для каждого года отдельный маппинг.

Требование делать маппинг оно откуда? Ты его сам придумал или ты получил "ценное" указание сверху?
25 фев 19, 19:47    [21819086]     Ответить | Цитировать Сообщить модератору
 Re: RequestMapping доступ к нескольким запросам на одной странице  [new]
вадя
Member

Откуда: Екатеринбург
Сообщений: 15540
pentogono
sql-запрос: "SELECT id, name, year WHERE year='2017' ORDER BY name", "SELECT id, name, year WHERE year='2016' ORDER BY name",
это два запроса
25 фев 19, 19:50    [21819087]     Ответить | Цитировать Сообщить модератору
 Re: RequestMapping доступ к нескольким запросам на одной странице  [new]
mayton
Member

Откуда: loopback
Сообщений: 40500
mayton
pentogono
mayton,
Нужно для каждого года отдельный маппинг.

Требование делать маппинг оно откуда? Ты его сам придумал или ты получил "ценное" указание сверху?

Это я как-бы не наезжаю. Я просто пытаюсь понять рациональное зерно в таких архитектурах.
Если кто-то хочет ТАК - то наверное за этим что-то стоит? UI? Рефлексия? Унаследованный
код? Кросскомпиллятор?
25 фев 19, 19:52    [21819090]     Ответить | Цитировать Сообщить модератору
 Re: RequestMapping доступ к нескольким запросам на одной странице  [new]
вадя
Member

Откуда: Екатеринбург
Сообщений: 15540
mayton
Требование делать маппинг оно откуда?
под каждый запрос - свой маппинг...
25 фев 19, 20:02    [21819104]     Ответить | Цитировать Сообщить модератору
 Re: RequestMapping доступ к нескольким запросам на одной странице  [new]
mayton
Member

Откуда: loopback
Сообщений: 40500
Да я щас вообще говорю про метод сервиса. Про маппинг еще не дошли.
25 фев 19, 20:11    [21819110]     Ответить | Цитировать Сообщить модератору
 Re: RequestMapping доступ к нескольким запросам на одной странице  [new]
pentogono
Member

Откуда:
Сообщений: 6
Скажем так, есть таблица в бд с результатами разных годов.
Стоит задача вывести результаты по годам в одой странице.
Каждый год отдельный запрос, отдельная таблица.
Картинка с другого сайта.

@RequestMapping(value = "/page-results", method = RequestMethod.GET)
public String result2017(Model model) {
model.addAttribute("item2017", service.listAll2017());
return "page-results";}


sql-запрос:
 "SELECT id, name, year WHERE year='2017' ORDER BY name"

Код в контроллере и sql запрос работает и данные выводятся в таблице, теперь надо, чтобы по разным годам запросы работали. Сделал было одинаковые маппинги, но компилятор не принимает.
25 фев 19, 20:29    [21819127]     Ответить | Цитировать Сообщить модератору
 Re: RequestMapping доступ к нескольким запросам на одной странице  [new]
pentogono
Member

Откуда:
Сообщений: 6
вадя,
понимаю, один запрос для котроллера на 2017, другой на 2016 год. Код с контроллера в спойлере
25 фев 19, 20:32    [21819129]     Ответить | Цитировать Сообщить модератору
 Re: RequestMapping доступ к нескольким запросам на одной странице  [new]
mayton
Member

Откуда: loopback
Сообщений: 40500
Делайте как nazgul предложил.
@RequestMapping(value = "/page-results/{year}", method = RequestMethod.GET)
25 фев 19, 20:39    [21819134]     Ответить | Цитировать Сообщить модератору
 Re: RequestMapping доступ к нескольким запросам на одной странице  [new]
pentogono
Member

Откуда:
Сообщений: 6
mayton,
Сделано, но пока страница не хочет выдавать результаты.
25 фев 19, 21:31    [21819175]     Ответить | Цитировать Сообщить модератору
 Re: RequestMapping доступ к нескольким запросам на одной странице  [new]
mayton
Member

Откуда: loopback
Сообщений: 40500
Ну... пули из ствола вылетели..

Серверный метод отработал?
26 фев 19, 11:25    [21819485]     Ответить | Цитировать Сообщить модератору
Все форумы / Java Ответить