powered by simpleCommunicator - 2.0.56     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / Java: обработка событий HTML Select в Freemarker
5 сообщений из 5, страница 1 из 1
Java: обработка событий HTML Select в Freemarker
    #39715910
Molasar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Всем привет!

Могу обработать нажатие кнопки в форме и направить обработку в нужный контроллер:
Код: java
1.
<form method="get" action="/main"></form>



А как обработать выбор элемента в выпадающем списке Select, используя Freemarker, и направить его дальше в контроллер?:
Код: java
1.
2.
3.
4.
5.
6.
Select your city:
        <select name="cityFilter" ...>
            <#list cities as city>
                <option>${city.cityName}</option>
            </#list>
        </select>
...
Рейтинг: 0 / 0
Java: обработка событий HTML Select в Freemarker
    #39717380
Фотография Valentin Kolesnikov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MolasarВсем привет!

Могу обработать нажатие кнопки в форме и направить обработку в нужный контроллер:
Код: java
1.
<form method="get" action="/main"></form>



А как обработать выбор элемента в выпадающем списке Select, используя Freemarker, и направить его дальше в контроллер?:
Код: java
1.
2.
3.
4.
5.
6.
Select your city:
        <select name="cityFilter" ...>
            <#list cities as city>
                <option>${city.cityName}</option>
            </#list>
        </select>



Freemarker это шаблонизатор. Для обработки нажатий на кнопку лучше подойдёт Apache wicket.

С уважением, Валентин
...
Рейтинг: 0 / 0
Java: обработка событий HTML Select в Freemarker
    #39717446
Фотография Penkov Vladimir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
<select id='select_id' onchange='invokeJsCode()'>...</select>

<script>
function invokeJsCode() {
   $.post('/path_to_controller', {
     selected: $("#select_id").val()
   })
}
</script>



все просто как дрова
...
Рейтинг: 0 / 0
Java: обработка событий HTML Select в Freemarker
    #39720200
Molasar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Penkov Vladimir
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
<select id='select_id' onchange='invokeJsCode()'>...</select>

<script>
function invokeJsCode() {
   $.post('/path_to_controller', {
     selected: $("#select_id").val()
   })
}
</script>



все просто как дрова

Я сделал следующее, но безрезультатно. Страница при смене Select не обновляется. Ставил в контроллере точки останова, но в контроллер управление не переходит.

В <head> branche.ftl добавил (заменил post на get, т.к. в контроллере @GetMapping):
Код: javascript
1.
2.
3.
4.
5.
6.
7.
<script>
        function invokeJsCode() {
            $.get("/branches", {
                selected: $("#select_id").val()
            })
        }
    </script>



В <body> страницы добавил:
Код: html
1.
2.
3.
4.
5.
<select id="select_id" onchange="invokeJsCode()">
    <option>Moscow</option>
    <option>London</option>
    <option>Paris</option>
</select>



Есть Spring Controller ("MainController.java"):
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
@GetMapping("/branches")
    public String branchePage(@RequestParam(name = "select_id", defaultValue = "All") String cityFilter,
                              @AuthenticationPrincipal User user,
                              Model model) {
        model.addAttribute("user", user);

        List<City> cityList = cityRepo.findAll();
        model.addAttribute("cities", cityList);

        if (cityFilter.equals("All")) {
            List<Branch> branchList = branchRepo.findAll();
            model.addAttribute("branches", branchList);
        } else {
            City city = cityRepo.findByCityName(cityFilter);
            List<Branch> branchList = branchRepo.findByCity(city);
            model.addAttribute("branches", branchList);
        }

        return "branche";
    }
...
Рейтинг: 0 / 0
Java: обработка событий HTML Select в Freemarker
    #39720241
andreykaT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ты по ходу вообще не понимаешь как это работает. Куда ты там точки то мог ставить? ) Контроллер отрабатывает только и только тогда когда твой фронт делает хттп запрос. А он его не делает. Погугли джаваскрипт и метод онклик() им можно сгенерить хттп реквест на контроллер
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / Java: обработка событий HTML Select в Freemarker
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]