タイトルには申し訳ありませんが、言葉の使い方はわかりません。私はテーブルにいくつかのデータを表示するフォームを持っています。子フォームで親フォームマッピングをオーバーライドする方法は?
<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
でIDを渡して、全く別のページに移動するボタンを持つことができます(すべてのエントリを投稿する標準オプションとともにエントリを編集するオプションがあると思います)。ページに到達するだけです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
に変更することもできますが、親フォームは変更できません。 提案がありますか?
更新 - 私は解決策を見つけて投稿しましたが、明日まで受け入れることができません。
が、それはフォームの外に「行く別のページへ」のボタンを引くことが可能である。しかし
、シンプルなハイパーリンクを使用して、ボタンとしてそれをドレッシングは、問題を解決しましたか? – ndrone
@ndroneボタンがテーブルの各行に対して動的に生成される必要があるとは思わないし、 ''の前にフォームタグを終了することでテーブルを分割することはできないと確信しています。 Javaスプリングはフォーム内の '