@IT·互联网

jsp页面或者JS中接收url参数的方法

2018-07-16  本文已影响0人  黑码不黑

假如有这么一个请求:http://localhost:8080/appWeb/text/hello.jsp?name=join

jsp中获得url参数方法

在jsp页面接收url参数,可以使用这样的方法:

<%
  String name = request.getParameter("name");
//另外还有一些其他的方法获得而不同的信息,例如
String contentPath= request.getContentPath();//获得工程名称,此时为/appWeb
String servername = request.getServerName(),//返回当前页面所在的服务器的名字;
String serverPort = request.getServerPort();//获得所在服务器使用的端口
%>

在jsp中可以这样使用:<body>hi,<%=name%></body>
注:<%=name%> 不能防御XSS攻击
当然也可以在<body>中使用 ${param.name} 方法来获得,这里的param 是隐含对象,相当于reques.getParameter()方法。如:

<body>hi,${param.name}</body>

js中获得url参数方法

//获得url中所有参数
function getQueryVariable(variable)
{
    var query = window.location.href.slice(window.location.href.indexOf('?')+1).split('&'); 
       for (var i=0;i<query.length;i++) {
               var pair = query[i].split("=");
               if(pair[0] == variable){return pair[1];}
       }
       return(false);
}

此时如果url参数包含中文的话就需要进行转码操作,如下:

var name=decodeURI(getQueryVariable('name'));

英文不需要转码操作,但是建议始终进行转码操作,这样处理起来会方便很多。

上一篇下一篇

猜你喜欢

热点阅读