2016-04-28 5 views
1

Извините за титул, не уверенный, как это произнести. У меня есть форма, которая отображает некоторые данные в таблице.Как переопределить отображение родительской формы в дочерней форме?

<form action="#" th:action="@{/do/stuff}" th:object="${foo}" method="post"> 
    <table> 
     .... 
     <tr th:each="currentFoo : *{fooList}"> 

     <td>...<td> 
     <td> 
      <a th:href="'/anotherPage/' + ${currentFoo.getId()}"> 
       <button>Go to Different page</button> 
      </a> 
     </td> 
    ... 
    </table> 
    <button type="submit" value="submit">Submit</button> 
</form> 

И тогда контроллер:

@RequestMapping(value="/do/stuff", method = RequestMethod.POST) 
public String processQuery(@ModelAttribute FooWrapper wrapper, Model model){....} 

@RequestMapping(value="anotherPage/{fooID}", method=RequestMethod.GET) 
public String getClient(@PathVariable int id, Model model){...} 

Проблема заключается в том, что при нажатии на кнопку «Перейти на другую страницу», форма размещена и подобран отображения /do/stuff.

Как я могу получить кнопку, которая просто приведет меня к совершенно другой странице, передав идентификатор через get (подумайте, что у него есть возможность редактировать запись вместе со стандартной опцией, чтобы опубликовать все записи)? Мне просто нужно дойти до страницы anotherPage/{fooID}

Я попытался добавить кнопку-форму в надежде, что она переопределит родительскую форму и выполнит запрос get к отображению, которое я хотел, но это не сработало, все это получает внешняя форма.

<form th:action="'/anotherPage/' + ${currentFoo.getID()}" style="display: inline" th:method="get"> 
    <input type="submit" th:value="Go to Page" role="button" /> 
</form> 

Возможно ли это? Я мог бы даже изменить дочерний метод на post, если бы мне пришлось, но родительская форма не может измениться. Любые предложения?

Обновление - Я нашел и разместил решение, но я не могу принять его до завтра!

+0

является возможность тянуть кнопку «Перейти на другую страницу» вне формы? – ndrone

+0

@ndrone Я не думаю, что кнопка должна генерироваться динамически для каждой строки в таблице, и я уверен, что я не могу «разбить» таблицу, закончив тег формы перед «», поскольку java spring не позволит вам раскрыть теги '

...
' в форме (все это или ничего) - если это имеет смысл – gudthing

ответ

0

Оказывается, это очень простое решение. Я думаю, что элементы <button>...</button> при нажатии, так как они были внутри формы, они вызывали обратную передачу, независимо от указанного URL.

Однако, используя простую гиперссылку и одевать его в качестве кнопки решить эту проблему:

<a th:href="'/anotherPage/' + ${currentFoo.getID()}" class="btn btn-default">Go to page</a> 
Смежные вопросы