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'));
英文不需要转码操作,但是建议始终进行转码操作,这样处理起来会方便很多。