关于Ajax在jsp和controller层的交互

 Controller层:

@RequiresPermissions("sys:user:view")
	@RequestMapping(value = { "sendMsg" }, method = RequestMethod.POST)
	@ResponseBody
	public  Map 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 resultMap =  new HashMap();
		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交互时,除了Ajax外,在url中带参  如 window.open(“ url?name=? ”);

controller层的方法中可以在参数内容中如 public String toMe(String name,Request request,Response response...)

在参数列表中与url代参值同名可以接收。还有就是通过表单from直接传递。

 

你可能感兴趣的:(实习工作笔记)