2016-09-20 10 views
0

Я хотел бы использовать поле выбора для перенаправления на URL-адрес, содержащий значение выбора.Thymeleaf + Spring как передать контроллеру значение @PathVariable из значения опции выбора формы

Здесь реветь страницу HTML с thymeleaf переменными:

<form th:action="@{/app/}"> 
    <select id="app" name="app"> 
     <option th:each="app : ${apps}" 
      th:value="${app.id}" 
      th:text ="${app.name}"> 
     </option> 
    </select> 
    <button>Go</button> 
</form> 

Контроллер записывается следующим образом:

@RequestMapping("/app/{appId}") 
public ModelAndView getApp(@PathVariable String appId){...} 

Моя цель состоит в том, чтобы получить доступ к контроллеру с URL: mydomain/app/{app.id}/ Я пытался используйте th:field на выбор без успеха. Мне что-то не хватает.

Пожалуйста, не могли бы вы объяснить мне, как добавить значение выбора к URL-адресу, ожидаемому контроллером?

Спасибо за подсказки

EDIT следующие @NicolaiEhemann ответ

Я переехал в JavaScript с помощью JQuery и Ajax:

$('button').click(function() { 
    $.ajax({ 
     url: '/app/' + $('#app').val(), 
     dataType: 'html' 
    }).done(function(data) { 
     $('#result').html(data) 
    }); 
}); 

Спасибо.

ответ

1

Thymeleaf будет генерировать только статический html-код. Чтобы достичь того, чего вы хотите, вам нужно написать javascript на стороне клиента для обработки события события «input», чтобы изменить действие формы при выборе другого значения или обработать событие «отправить» формы, чтобы переопределить действие по умолчанию для отправки формы , Соответствующий js-код, вероятно, будет зависеть от используемой вами структуры.