1
我創建了一個JSP頁面,並帶有一些文本字段。點擊提交按鈕,它會調用Ajax調用將數據發佈到Spring控制器。現在,在將數據保存到數據庫後,控制器將創建一個JSON響應。我希望這個響應在JSP文件中可用。下面是我的文件代碼...如何接收從spring控制器到jsp頁面的json響應
JSP文件:
$(document).ready(function(){
$("#submitButton").click(function(e){
var formData = getFormData();
$.ajax({
type: 'POST',
'url': 'http://localhost:8080/Test_ReportingUI/addDb.htm',
data: {jsonData: JSON.stringify(formData)},
dataType: 'json',
success: function(response){
try{
var strResponse=jQuery.parseJSON(response);
}catch(err){}
if(response.status=='ok')
{
alert("details added");
}
else
{
alert("error happened");
}
},
timeout: 10000,
error: function(xhr, status, err){
if(status=='timeout')
{
alert('Request time has been out','');
}
console.log(status,err);
}
});
});
});
春天控制器的方法:
@Autowired RWCustomerService rwCustomerService;
@RequestMapping (value="addDb.htm", method=RequestMethod.POST)
String addEditCustomer(@RequestParam String jsonData)
{
System.out.println("hello world");
System.out.println("-----------------\n"+jsonData);
ModelAndView modelAndView=new ModelAndView("custDB_setup");
JSONObject jsonResponse = new JSONObject();
try{
JSONObject requestedJSONObject = new JSONObject(jsonData);
String dbName = requestedJSONObject.getString("dbName");
String dbUserName = requestedJSONObject.getString("dbUserName");
String dbPassword = requestedJSONObject.getString("dbPassword");
Iterator it=requestedJSONObject.keys();
while(it.hasNext()){
System.out.println("Oo..: "+it.next());
}
RWReportCustomerDB rwReportCustomerDB = new RWReportCustomerDB();
rwReportCustomerDB.setDbName(dbName);
rwReportCustomerDB.setDbLogin(dbUserName);
rwReportCustomerDB.setDbPassword(dbPassword);
rwCustomerService.saveDb(rwReportCustomerDB);
jsonResponse.put("status", "ok");
}
catch(Exception ex){
ex.printStackTrace();
}
return jsonResponse.toString();
}
數據得到保存在數據庫中,因此JSON數據到達控制器方法。但是,我無法看到jsp頁面上的提示框,即「已添加詳細信息」。我該如何解決這個問題。
你真棒! – JPG