表单提交在后端使用Spring MVC间歇性地在IE 10上工作

时间:2014-05-21 06:36:18

标签: forms spring spring-mvc

我们使用spring 3.0开发了一个应用程序,在一个jsp中我们有2个提交按钮。

<form:form name="etsubmitDetails" action="etsubmitdetails.htm" method="post" commandName="etform" cssClass="form-horizontal">
<button type="submit" class="btn btn-primary"  name="search" value="search" >
<i class="icon-upload icon-white"></i> Search</button>`
<button type="submit" class="btn btn-primary"  name="submit1" value="submit1" >         

<i class="icon-upload icon-white"></i> Submit</button>
</form>

然后我们为控制器使用了注释。下面是代码。

    @Controller
public class ETController {
@RequestMapping(value = "/etsubmitdetails.htm", method = RequestMethod.POST,params="search")
public String search(@ModelAttribute ETFormBean etform, Model model,HttpServletRequest request) throws Exception {
    model.addAttribute("etform", etform);
    return "et";}
@RequestMapping(value = "/etsubmitdetails.htm", method = RequestMethod.POST,params="submit1")
    public String submit1(@ModelAttribute ETFormBean etform, Model model,HttpServletRequest request) throws Exception {
model.addAttribute("message", "Request successfully submitted.");
    model.addAttribute("etform", etform);
    return "et";
}

但上面的代码在Mozilla Firefox中运行良好。但在IE中它间歇性地给出404错误。任何人都可以帮助解决这个问题

1 个答案:

答案 0 :(得分:1)

Firefox默认情况下将所有属性都放在隐藏的网址背景中。但IE没有。因此,只要在IE中点击了任何按钮,就会在隐藏的URL中生成无参数。因此抛出nullpointerexception并显示404页面 所以你可以做一件事。而不是使用param,只创建一个方法。在jsp中,创建两个带有保存名称但值不同的按钮。因此在控制器方法中检查按钮值。并根据按钮值执行下一步。您的问题将得到解决