2013-02-20 174 views
1

我有一个控制器类似如下客户端发送的请求在语法上不正确?

@Controller 
public class SettingsController { 
    @RequestMapping(value="/editname",method=RequestMethod.POST) 
    public void editName(@RequestParam(value="firstname") String firstname, 
         @RequestParam(value="lastname") String lastname) { 
     final Object principal = 
     SecurityContextHolder.getContext().getAuthentication().getPrincipal(); 
     try { 
     jdbcPersonRepository.updateName(principal.toString(), firstname, lastname); 
     } catch (SignInNotFoundException e) { 
     } 
    } 
} 

,我有我的Ajax表单提交。

$(function() { 
    //twitter bootstrap script 
    $("button#submit").click(function(){ 
    var $form = $(this).closest("form"); 
    var type = $form.attr('method'); 
    $.ajax({ 
     type: $form.attr('method'), 
     url: $form.attr('action'), 
     data: $form.serialize(), 
     dataType : "json", 
     success: function(msg){ 
       $("#thanks").html(msg) 
       $("#form-content").modal('hide');  
     }, 
     error: function(){ 
      //alert("failure"); 
     } 
     }); 
}); 
}); 

和我的Twitter,其具有触发Ajax是如下

<!-- Name Edit div --> 
<div id="form-content" class="modal hide fade in" tabindex="-1"> 
    <form name="edit-form" action="<c:url value="/editname" />" method="post"> 
    <div class="modal-header"> 
     <h4>Edit Name</h4> 
    </div> 
    <div class="modal-body"> 
    <div class="control-group"> 
     <div class="controls"> 
      <ul class="nav nav-list"> 
      <li class="nav-header">First Name</li> 
      <li><input type="text" placeholder="First Name" name="firstName" id="firstName" class="input-xlarge help-inline"></li> 
      <li class="nav-header">Last Name</li> 
      <li><input type="text" placeholder="Last Name" name="lastName" id="lastName" class="input-xlarge help-inline"></li> 
     </ul> 
     </div> 
     </div> 
    </div> 
    <div class="modal-footer"> 
     <button id="submit" class="btn btn-success">Update</button> 
     <button class="btn" data-dismiss="modal" >Close</button> 
    </div> 
    </form> 
</div> 

是否有任何人有任何关于此错误的线索形式引导模式。 ?

回答

4

在方法声明中,@RequestMapping注释给出的参数名称为firstnamelastname。在HTML格式中,它们是firstNamelastName

请求参数名称区分大小写...... ergo,它们不匹配,并且Spring告诉您这是一个无效的请求,因为缺少必需的参数。

相关问题