解析url,本想用正则表达式处理,但正则表达式速度较慢。用split处理一下就可以了。
package RequestPackage;
import javautilHashMap;
import javautilMap;
public class CRequest {
/
解析出url请求的路径,包括页面
@param strURL url地址
@return url路径
/
public static String UrlPage(String strURL)
{
String strPage=null;
String[] arrSplit=null;
strURL=strURLtrim()toLowerCase();
arrSplit=strURLsplit("[]");
if(strURLlength()>0)
{
if(arrSplitlength>1)
{
if(arrSplit[0]!=null)
{
strPage=arrSplit[0];
}
}
}
return strPage;
}
/
去掉url中的路径,留下请求参数部分
@param strURL url地址
@return url请求参数部分
/
private static String TruncateUrlPage(String strURL)
{
String strAllParam=null;
String[] arrSplit=null;
strURL=strURLtrim()toLowerCase();
arrSplit=strURLsplit("[]");
if(strURLlength()>1)
{
if(arrSplitlength>1)
{
if(arrSplit[1]!=null)
{
strAllParam=arrSplit[1];
}
}
}
return strAllParam;
}
/
解析出url参数中的键值对
如 "indexjspAction=del&id=123",解析出Action:del,id:123存入map中
@param URL url地址
@return url请求参数部分
/
public static Map<String, String> URLRequest(String URL)
{
Map<String, String> mapRequest = new HashMap<String, String>();
String[] arrSplit=null;
String strUrlParam=TruncateUrlPage(URL);
if(strUrlParam==null)
{
return mapRequest;
}
//每个键值为一组 >
首先看看单纯的通过javascript是如何来获取url中的某个参数:
function getUrlParam(name) {var reg = new RegExp("(^|&)" + name + "=([^&])(&|$)"); //构造一个含有目标参数的正则表达式对象
var r = windowlocationsearchsubstr(1)match(reg); //匹配目标参数
if (r != null) return unescape(r[2]); return null; //返回参数值
}
>
我们要获取reurl的值,可以这样写:
var xx = getUrlParam('reurl');
不太明白用JS获取参数的目的,也许Ajax中能用到吧
<script language = javascript>
function request(paras){
var url = locationhref;
var paraString = urlsubstring(urlindexOf("")+1,urllength)split("&");
var paraObj = {}
for (i=0; j=paraString[i]; i++){
paraObj[jsubstring(0,jindexOf("="))toLowerCase()] = jsubstring(jindexOf("=")+1,jlength);
}
var returnValue = paraObj[parastoLowerCase()];
if(typeof(returnValue)=="undefined"){
return "";
}else{
return returnValue;
}
}
//如你给出的地址可以这样
var classid = request("classid");
var id = request("id");
//然后你就可以对这些参数处理了
</script>
url : xxx/xxx_xxxactionI18n_locale=xxxx
action :String xxx = ServletActionContextgetRequest()getParameter("I18n_locale");
url中所有的参数,无论在action里还是再jsp里都可以通过requestgetParameter("参数名")获取
var url= windowlocationhref
var ss = urlsplit('/');
for(var i =0 ;i<sslength;i++){
if(ss[i]=='goods_id')
alert(ss[i+1])
if(ss[i]=='city_code')
alert(ss[i+1])
}
//url中传递的参数,get形式
$userid = @$_GET['userid'];
//你也可以打印出所有的Get参数, 可以更明白其中的奥妙
print_r($_GET);
//如果是表单/post提交,则用$_POST , 用法和$_GET类似
以上就是关于java怎么获取url上的参数全部的内容,包括:java怎么获取url上的参数、jquery怎么获取url参数、如何用js获取当前url的参数值等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)