我是角度JS的新手,春天mvc。
基本上我试图通过角度JS作为模型属性POJO对象发布到我的门户上的表单数据到弹簧控制器。
怎么回事?您可以在下面找到我需要的FORM样本数据和角度JS函数add(),它可以在表单上使用ng-submit。
@RequestMapping(value="sample", method = RequestMethod.POST)
public String processSampleForm(@ModelAttribute("checkInRequest") CheckInRequest checkInRequest,
@ModelAttribute("sampleRequest") SampleRequestMO sampleRequest,
HttpServletRequest request, HttpServletResponse response, ModelMap model)
throws Exception
< ------ Angular JS ---->
$scope.add = function(){
var request = $http({
method: "post",
url: "sample.htm",
transformRequest: transformRequestAsFormPost,
sampleRequest: {
'phone': 9999999999,
'name': "Kim"
},
CheckInRequest: {
'merchantCode': 11,
'outletCode': 100
}
});
任何帮助都将受到高度赞赏。
TIA
答案 0 :(得分:0)
当您通过$ http发送数据时,您发送的是jsons,而不是模型属性。模型属性(如Spring所见)是提交的表单。您应该能够在请求参数中找到CheckInRequest
。
@RequestMapping(value="sample", method = RequestMethod.POST)
public String processSampleForm(@RequestParam("CheckInRequest") String checkInRequest, @RequestParam("sampleRequest") String sampleRequest, HttpServletRequest request, HttpServletResponse response, ModelMap model)
请注意,如果没有进一步配置,params将作为字符串(表示json)接收,您必须手动反序列化它们。您可以进一步配置ObjectMapper
或绑定器,以便Spring对它们进行反序列化。