PostMapping в программе, Java, Spring

131
17 апреля 2019, 16:20

Есть у меня две формы c post

<form name="form1" method="post"> 
...
</form>
<form name="form2" method="post"> 
...
</form>

Я хочу их по разному обрабатывать контроллером, но чтобы после обработки адрес страницы не изменялся(чтобы всегда оставалось blabla/schelude).

@PostMapping("/schedule")
public String putMessageInDB()
...
    return "schedule";
}
@PostMapping("/schedule")
public String deleteMessageInDB()
...
    return "schedule";
}

Пробывал через action = "deleteFromDb", но тогда в адресе станицы отображалось blabla/deleteFromDb.

<form name="form1" method="post" action = "deleteFromDb"> 
...
</form>

.

@PostMapping("deleteFromDb")
public String deleteMessageInDB()
...
    return "schedule";
}

Как обрабатывать два пост запроса в одном контроллере, чтобы адрес страницы не менялся?

Answer 1

Очевидно, надо использовать разные http-методы

Контроллер

@RequestMapping(value = "/schedule", method = RequestMethod.PUT)
public String putMessageInDB()
    ...
    return "schedule";
}
@RequestMapping(value = "/schedule", method = RequestMethod.DELETE)
public String deleteMessageInDB()
    ...
    return "schedule";
}

Шаблон

<form name="form1" method="post"> 
    <input type="hidden" name="_method" value="put">
    ...
</form>
<form name="form2" method="post"> 
    <input type="hidden" name="_method" value="delete">
    ...
</form>

web.xml

...
<filter>
    <filter-name>HttpMethodFilter</filter-name>
    <filter-class>org.springframework.web.filter.HiddenHttpMethodFilter</filter-class>
</filter>
<filter-mapping>
    <filter-name>HttpMethodFilter</filter-name>
    <url-pattern>/*</url-pattern>
</filter-mapping>
...
READ ALSO
Слайд калькулятор

Слайд калькулятор

Есть два input и два popup окна

188
Как сделать реинциализацию функции?

Как сделать реинциализацию функции?

У меня динамическое добавление изображений на своём jsКак сделать реиницализацию функции https://github

144
Не заполняется база данных mysql в C#

Не заполняется база данных mysql в C#

Я сделал бд с несколькими таблицами в mysql workbench'е и теперь пишу интерфейс на си шарпе

147