在我的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。
我错过了什么?