2

私はSpring MVCを初めて使用し、本当に単純に見える何かを達成しようとしています。ただし、それを機能させることも、関連する例を見つけることもできません。

注釈付きの Spring MCV 3.1 を使用します。選択リストが 1 つしかないフォームがあります。このフォームが送信されると、select-value の ID をコントローラーに送信できるようにしたいと考えています。それでおしまい!

この値を Binding オブジェクトにラップしたくありません。できれば次のように get してコントローラーに送信したいだけです

私のコントローラーは次のようになります。

@RequestMapping(value = "/admin/products", method = RequestMethod.GET)
public ModelAndView getProducts(@RequestParam("marketId") String marketId) {

    ModelMap model = new ModelMap();

    // Logic to find products by marketId is not shown
    // ...

    model.addAttribute("products", products);

    return new ModelAndView("products", model);
}

まだコンパイルできる jsp を作成できていませんが、これが最新の jsp スニペットです。

<form:form method="GET" action="/admin/products.htms" methodParam="marketId" >
    <form:select path="marketId" items="${marketList}" onchange="this.form.submit();"/>
</form:form>

誰かが助けたり、関連する例を指摘したりできれば、私はとても感謝しています! バインド オブジェクトを使用してフォーム データをラップする多くの例を見てきましたが、ご覧のとおり、もう少し単純なものを探しています。

乾杯!

4

1 に答える 1

5

オブジェクト バインディングやエラー レポートなどの機能が必要ない場合は、代わりにプレーンな HTML フォームを使用できます<form:form>

<form method="GET" action="/admin/products.htms">
    <select name="marketId" onchange="this.form.submit();">
        <c:forEach var = "item" items="${marketList}">
            <option value = "${item}">${item}</option>
        </c:forEach>
    </select>
</form>
于 2013-01-17T08:56:01.587 に答える