1. 程式人生 > >關於Ajax在jsp和controller層的互動

關於Ajax在jsp和controller層的互動

 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代參值同名可以接收。