關於Ajax在jsp和controller層的互動
阿新 • • 發佈:2018-12-09
Controller層:
@RequiresPermissions("sys:user:view") @RequestMapping(value = { "sendMsg" }, method = RequestMethod.POST) @ResponseBody public Map<String, Object> sendMsg(String userName, String mobile, String content, HttpServletRequest request, HttpServletResponse response, Model model) { SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd"); String sendTime = df.format(new Date()); String tempc = "【"+Global.getConfig("dxsignature")+"】"+content; String xml = WebServiceUtil.SendMessage(mobile,tempc,sendTime).toString(); Map<String, Object> resultMap = new HashMap<String,Object>(); try { Document doc = DocumentHelper.parseText(xml); Element rootElt = doc.getRootElement(); String returnstatus = rootElt.elementText("returnstatus").trim(); String message = rootElt.elementText("message").trim(); resultMap.put("status", returnstatus); resultMap.put("message", message); } catch (DocumentException e) { e.printStackTrace(); } return resultMap; }
Jsp:
$.ajax({ url:"${ctx}/sys/user/sendMsg", type:"POST", dataType:"json", data:$("form").serialize(), //jquery的ajax方法-序列化表單值,建立 URL 編碼文字字串 success:function(data){ var status = data.status; var message = data.message; if(status=="Success") alert("傳送成功!"); else alert(message); }, error:function(data){ alert("傳送失敗!"); } } );
此程式碼是在專案系統中一個簡訊傳送的功能介面。
在jsp與controller互動時,在url中帶參 如 window.open(“ url?name=? ”);
controller層的方法中可以在引數內容中如 public String toMe(String name,Request request,Response response...)
在引數列表中與url代參值同名可以接收。