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

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

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

干杯。

于 2012-05-26T06:05:06.847 回答
0

我解决了 IE 问题,方法是使用一个隐藏字段,并将按钮的所需 actionName 作为值传递:

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

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

于 2012-05-29T15:06:21.710 回答