1

ボタンアクションをコントローラー関数にマップしようとしています。私が試したとき:

@RequestMapping(method = RequestMethod.POST)
public void processValidateGenerate 
....

<input type="button" id="continue" name="continue"...>

それは問題なく動作しますが、今度は別のボタンを追加したいので、それらを区別するために、最初のアクションで追加しました:

@RequestMapping(method = RequestMethod.POST, params="continue")
public void processValidateGenerate 
....

しかし、ボタンが押されたときに関数が呼び出されなくなったので、送信入力に対してのみ機能すると思います。

非送信入力でこれを行うための解決策はありますか?

ありがとうございました

4

1 に答える 1

2

javascript / jqueryを使用してajax呼び出しを実行し、必要なコントローラーメソッドを実行できます。

function doSomething(){
$.ajax({                                  //This is a jquery ajax call. You need to inlude jquery js files to do
type: "POST",                              // this operation
url: //URL,
data: //JSON data
}).done(function( msg ) {
alert( "Operation done: " + msg );
window.location.href=contextPath+"/newURL";      //If you want to go to a new page
});
}

ここで、新しいボタンを追加します(ボタンでなくても、divで十分です)。onclick関数を使用して、javscript関数に名前を付けます。

<input type="button" id="newcontinuebutton" name="continue" onclick=doSomething()...>

jqueryajaxの詳細はここで確認できます

これはあなたを助けると思います。

于 2012-08-13T12:06:12.077 に答える