1

ユーザーが JSP のドロップダウンから値を選択した後にコントローラー メソッドを呼び出したい。しかし、前に進む方法がわかりません。私のjspは次のようになります。

<script type="text/javascript">
function repopulate(){
alert(document.getElementById('test').value);
}</script>

<form:select id="test" path="billingOverview.msisdnNumber"  onChange="repopulate()">
                    <form:option value="" label="All" />
                    <c:forEach var = "billingOver" items = "${billingOverview.prepaidBillingInfo}">
                    <form:option value="${billingOver.msisdn}" ><c:out value="${billingOver.msisdn}"/></form:option>
                    </c:forEach>
</form:select>

ドロップダウンは順調に進んでおり、任意の値を選択すると、アラートにもその値が表示されます。現在、コントローラーメソッドを呼び出すことができず、この選択した値を渡すことができません。私は春のポートレットmvcを使用しています。誰かがこれについて私を助けてください。

4

2 に答える 2

3

アラートで選択した値を既に取得しているため、コード内のアラートの代わりに次のコードを使用できます-

var parameter = document.getElementById('test').value;
window.location.href = controllerURL+"?param="+parameter ;  

controllerURL は次のようになります

http://localhost:8080/applicationname/yourFunction

コントローラーは次のようなパラメーターを受け入れる必要があります-

@RequestMapping(value="/yourFunction" method = RequestMethod.GET)
public String getParam(@RequestParam("param") int param, ModelMap model) {
   // method implementation
}
于 2014-08-01T12:56:55.693 に答える
0

サーバーから何らかの応答を取得してフォームを更新するか、コントローラーを呼び出してユーザーを別のビューに移動する必要があるとは言いませんでした。

応答を取得してフォームを更新する場合は、ajax を使用する必要があります。プロジェクトに jquery api を追加します。mvc のさまざまな機能については、Spring Mvc ショーケースを確認してください。

ajax を学ぶことは、あなたの鎧の良いツールになるでしょう。サンプル ajax 呼び出し:

    <script type="text/javascript" >
    function repopulate(){

        var formdata = $('#test').serialize();            
            $.ajax({
            url: <controller_url>,
            type:"POST", //or GET
            data: formdata
            }).done(function(data,textStatus,response) {
               alert(response.responseText);
            });
    }
    </script>

コントローラーを呼び出したいだけの場合は、コントローラーのURLをフォームの「アクション」属性に入れます。

<form:select id="test" path="billingOverview.msisdnNumber"  action="Controller_url">
于 2014-08-01T13:31:24.250 に答える