Spring RequestMapping params属性IE 405

时间:2012-05-25 18:17:23

标签: java spring internet-explorer button spring-mvc

我在Controller中有一个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问题?

2 个答案:

答案 0 :(得分:0)

根据我的说法,您应该使用javascript来处理提交按钮的onclick事件,然后从该功能中您可以更改表单标记的操作。尝试将所需参数添加到操作中,并将表单方法声明为GET。

我认为这可以解决您的问题。

干杯。

答案 1 :(得分:0)

我通过使用隐藏字段解决了IE问题,其中所需的actionName of button作为值传递:

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

此解决方案解决了我在IE浏览器上遇到的问题。