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

时间:2012-10-01 10:53:45

标签: submit

我在jsp文件上有一个简单的表单:

<form:form method="POST" class="my-form" id="dummyExtDelSubmitForm" name="dummyExtDELSubmitForm"   action="/my-web/landingPage/showPage">               
 <input type="text" name="viewName" value="userRegistrationPage" >              
 <input type="submit" name="submitDummYForm" value="Submit" ></input>               
</form:form>
在Spring MVC Controller上的

我有以下方法:

@RequestMapping(value = "/showPage", method = RequestMethod.POST)
public ModelAndView redirectToPage(@ModelAttribute("baseUserVO") BaseUserVO baseUserVO, HttpServletRequest request,Model model) throws BrownApplicationException {

 HttpSession session = request.getSession();

 if (baseUserVO != null && baseUserVO.getViewName()!=null) {
       return new ModelAndView("redirect:" + viewName, CommonConstants.MODEL, model);
     else{
       return new ModelAndView("redirect:/landingPage/home.brd", CommonConstants.MODEL, model);
 }
}

问题是当我提交表单时,有时会填充BaseUserVO对象,而大部分时间则不会填充。它在Firefox上运行正常。 我试图在fiddler中看到请求,在showPage的表单提交请求中,我没有看到参数如何,如果viewName不存在则按逻辑,然后重新导向landingPage / home,在后面的重定向我做请参阅viewName参数。

BaseUserVO的代码,它只是一个POJO:

public class BaseUserVO {
    private Integer userMasterId;
    private String firstname;
    private String lastname;
    private Integer relationshipCode;
    private String relationshipName;
    private String userName;
    private String userDisplayName;
    private String viewName;
    private String wpoId;
    private String userType;

    public Integer getUserMasterId() {
        return userMasterId;
    }
... getter seetter for other attributes.

不确定服务器端或客户端是否存在问题,如有任何疑问,请回复。

谢谢, 拉利特

1 个答案:

答案 0 :(得分:1)

发现问题,它和IE有自动身份验证问题(见下面的链接),虽然到目前为止没有具体的解决方案,但有一些解决方法。

http://blogs.msdn.com/b/ieinternals/archive/2010/11/22/internet-explorer-post-bodies-are-zero-bytes-in-length-when-authentication-challenges-are-expected.aspx?CommentPosted=true#commentmessage