web开发中如何获取地址栏中的参数以及获取地址栏

采用正则表达式获取地址栏参数:( 强烈推荐,既实用又方便!)

function  GetQueryString(name)
{
      var  reg = new  RegExp( "(^|&)" + name + "=([^&]*)(&|$)" );
      var  r = window.location.search.substr(1).match(reg);
      if (r!= null ) return   unescape(r[2]); return  null ;
}
 
// 调用方法
alert(GetQueryString( "参数名1" ));
alert(GetQueryString( "参数名2" ));
alert(GetQueryString( "参数名3" ));

下面举一个例子:

若地址栏URL为:abc.html?id=123&url=http://www.maidq.com

那么,但你用上面的方法去调用:alert(GetQueryString("url"));

则会弹出一个对话框:内容就是 http://www.maidq.com

如果用:alert(GetQueryString("id"));那么弹出的内容就是 123 啦;

当然如果你没有传参数的话,比如你的地址是 abc.html 后面没有参数,那强行输出调用结果有的时候会报错:

所以我们要加一个判断 ,判断我们请求的参数是否为空,首先把值赋给一个变量:

var  myurl=GetQueryString( "url" );
if (myurl != null  && myurl.toString().length>1)
{
    alert(GetQueryString( "url" ));
}


或者说


1、使用jsp小脚本实现
<%
String value=request.getParameter("key");

%>

即可取出地址栏传递的key所代表的值

2、使用EL表达式实现
<h2>${param.key}</h2>

也可以取出地址栏传递的key所代表的值
 
        
 
        

获取地址栏

1、request.getScheme() 返回当前链接使用的协议;比如,一般应用返回http;SSL返回https;

2、在程序中的应用如下:

Java代码   收藏代码
  1. String path = request.getContextPath();  
  2.   
  3. String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";  
  4.   
  5. <base href="<%=basePath%>">  

 

3、复习一下request 的常用方法:

request.getSchema()可以返回当前页面使用的协议,http 或是 https;

request.getServerName()可以返回当前页面所在的服务器的名字;

request.getServerPort()可以返回当前页面所在的服务器使用的端口,就是80;

request.getContextPath()可以返回当前页面所在的应用的名字;


  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Web开发,"forward"和"redirect"是两种重定向技术,它们有以下区别: 1. 请求处理方式:Forward是在服务器端进行的请求转发,而Redirect是在客户端进行的重定向。 2. 请求地址变化:Forward是将请求转发到另一个资源,但浏览器的地址不会改变,仍然显示原始请求的URL。而Redirect会告诉浏览器发送一个新的请求,地址会显示重定向后的URL。 3. 请求对象共享:Forward将原始请求的request对象传递给目标资源,目标资源可以获取到原始请求的参数、属性等信息。而Redirect是发送一个新的请求,所以request对象不会被共享,目标资源无法获取到原始请求的参数、属性等信息。 4. 处理速度:Forward比Redirect快,因为Forward只是在服务器内部进行资源转发,不需要浏览器再次发送请求。而Redirect需要浏览器发送新的请求到重定向后的URL。 5. 地址书签和刷新:由于Forward不改变地址的URL,所以刷新页面或添加到书签时仍然是原始请求的URL。而Redirect会改变地址的URL,刷新页面或添加到书签时会使用重定向后的URL。 综上所述,Forward适用于在服务器内部进行资源转发,可以共享请求对象和快速处理;Redirect适用于需要向客户端发送新的请求,重定向到另一个URL,并且可以改变地址、支持书签和刷新等功能。选择使用哪种技术应根据具体需求和场景来决定。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值