Spring / AngularJS-在服务器上接收空数据

时间:2015-07-30 07:59:46

标签: angularjs spring-mvc

在我的UI /表单上,我有

        <div ng-controller="MyFormController">
          <form  name="dataForm" ng-submit="submitForm()">
            First Name:<br>
            <input type="text" ng-model="user.firstName" value="{{user.firstName}}"><br>
            Last Name:<br>
            <input type="text" ng-model="user.lastName" value="{{user.lastName}}">
            <br><br>
            <input type="submit" value="submit">
          </form>  
        </div>

UI端的控制器配置为

            myControllers.controller('MyFormController', ['$scope','$http', function MyFormController( $scope, $http){
                $scope.user = {
                    "firstName": "FirsName",
                    "lastName": "LastName",
                    "gender" : "default"
                };


                $scope.submitForm = function(){
                    alert('1');

                    var formData = $scope.user;

                    $http.post('getUserDetails', {formData}).
                      success(function(serverdata, status, headers, config) {
                        $scope.user = serverdata;
                      }).
                      error(function(data, status, headers, config) {
                         alert('Failed');
                      });       
                };
            }]);

在服务器端,我有这个POJO

            public class User {
                private String firstName;
                private String lastName;
                private String gender;

                public String getFirstName() {
                    return firstName;
                }

                public void setFirstName(String firstName) {
                    this.firstName = firstName;
                }

                public String getLastName() {
                    return lastName;
                }

                public void setLastName(String lastName) {
                    this.lastName = lastName;
                }

                public String getGender() {
                    return gender;
                }

                public void setGender(String gender) {
                    this.gender = gender;
                }

            }

带控制器

            @RequestMapping(value="/getUserDetails", method = RequestMethod.POST)   
            public String sendDetails(@RequestBody User user ) {
                System.out.println("In here");
                System.out.println(user.getFirstName());
                User toSend = new User();
                toSend.setFirstName(user.getFirstName()+" first ");
                toSend.setLastName(user.getLastName()+ " last ");
                toSend.setGender("Male");

                String json ="";
                ObjectWriter ow = new ObjectMapper().writer().withDefaultPrettyPrinter();

                try {
                    json = ow.writeValueAsString(toSend);
                } catch (JsonProcessingException e) {
                    e.printStackTrace();
                }

                return json;

             }

现在,当我提交时,我会看到&#34;在这里&#34;在服务器控制台上。 但第二个

System.out.println(user.getFirstName());

显示为null。

我错过了什么?

0 个答案:

没有答案