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