controller层怎么获取URL里面的参数(字符串)

很多时候,特别是在使用get方法传输数据时,我们都会把简单的字符串参数传到URL里面,在后台取的时候方法有很多,在这里我说一种比较简单实用的。

function abolishTransportOrder(id){
		
		var url = contextPath_js + "/pg/sale/distribContract/abolishTransportOrder.pfv?contractId="+id+"&rm="+Math.random();

		$.ajax({
			'type': 'POST',
			'url': url, 
			'data': params,
			'dataType': 'json',
			'success': function(data) {
				hideLoadingDialog();
				if(data.result == 0) {
					alertSuccess(toTransOrderPage());//A
				}else {
					alertFailue(data.resultMessage);
				}
			}
		}); 
    }

这是JavaScript的ajax请求,可以看到contractId这个参数是在URL里面的,然后实用jquery发送$.ajax请求到后台(注意这里只是局部刷新),下面的代码是后台获取参数:

@RequestMapping(value = "/abolishTransportOrder")
@ResponseBody
public Map abolishTransportOrder(Model model, WebRequest request)
{ 
		String id = request.getParameter("contractId").trim();
		
}

这样就能取到URL里面的字符串参数,当然,你的参数的名字一定要写正确,都要是“contractId”。

 

顺便说一下,这个WebRequest 是spring框架里面的接口,所以的这种取URL里面的参数的方法很具有一般性,基本不会出错。

package org.springframework.web.context.request;

import java.security.Principal;
import java.util.Iterator;
import java.util.Locale;
import java.util.Map;

/**
 * Generic interface for a web request. Mainly intended for generic web
 * request interceptors, giving them access to general request metadata,
 * not for actual handling of the request.
 *
 * @author Juergen Hoeller
 * @since 2.0
 * @see WebRequestInterceptor
 */
public interface WebRequest extends RequestAttributes {}

 

你可能感兴趣的:(Java,spring,前端,JavaScript,MVC)