У вас может быть следующий тип URL:
http://localhost:8080/viewall/filterBy/3
, тогда ваше отображение Controller
будет выглядеть следующим образом:
@RequestMapping (value="/viewall/filterBy/{id_type}", method= RequestMethod.GET)
public String filterBy(Model model, @PathVariable(name = "id_type") int idType) {
....
return "letter-view";
}
или более упрощенный подход:
@GetMapping (value="/viewall/filterBy/id_type/{id}")
public String filterBy(Model model, @PathVariable(name = "id") int idType) {
....
return "letter-view";
}
ОБНОВЛЕНИЕ
Теперь, когда ваш шаблон URL изменился, вы должны отправить форму через javascript.Вы должны добавить выбранное значение в ваш URL, а затем отправить форму.Чтобы отправить форму через javascript, используйте следующие коды:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
</head>
<body>
<select class="form-control" id="type_form" th:field="*{id_type}" name="id_type">
<option disabled="disabled" selected="selected" value="0">--Select--</option>
<option th:each="type : ${letter_types}" th:value="${type.id}" th:text="${type.name}"></option>
</select>
<button onclick="submitForm()"> SUBMIT </button> <!--this will call the submitForm() javascript function given below -->
<script type="text/javascript">
function submitForm() {
var selectedOption = document.getElementById("type_form"); // the <select> is assigned to the variable using its id
window.location = "/viewall/filterBy/" + selectedOption.value; // here we concat the url with the selected option and assign it to the action of the form
}
</script>
</body>
</html>