0

コントローラーに RequestMapping があります。

@Controller
class aController{
...

@RequestMapping("/action", method=RequestMethod.POST, params="actionName"){
//some logic
}
}

JSP の場合:

<form action="/action" type="POST">
 <input type="submit" name="actionName" value="actionName">
 <input type="submit" name="xyz" value="XYZ">
</form>

問題は、Chrome または Firefox ブラウザーを使用すると、JSP からの要求がマップされることです。しかし、IE では、IE がボタン名を処理する方法が原因で、リクエスト マッピングへのラッチに失敗します。この問題を解決するには、次を追加する必要があります。

 <input type="hidden" name="actionName" value="actionName"/>

問題は、複数のボタンが異なる RequestMapping(params="") にマップされているページがいくつかあることです。どこにでも隠しフィールドを追加したくありません。このばかげた IE の問題を解決するより良い方法はありますか?

4

2 に答える 2

0

ボタンの必須のactionNameが値として渡された非表示フィールドを使用して、IEの問題を解決しました。

 <input type="hidden" name="actionName" value="actionName">

このソリューションは、IEブラウザーで直面する問題を解決します。

于 2012-05-29T15:06:21.710 に答える
0

私によると、JavaScriptを使用して送信ボタンのonclickイベントを処理し、その関数からフォームタグのアクションを変更する必要があります。必要なパラメーターをアクションに追加して、フォーム メソッドを GET として宣言してみてください。

これで問題は解決すると思います。

乾杯。

于 2012-05-26T06:05:06.847 に答える