十万火急:怎样得到当前页面的确切url!就是本页面中,浏览器地址拦里显示的地址。谢谢了。
十万火急:怎样得到当前页面的确切url!就是本页面中,浏览器地址拦里显示的地址。谢谢了。 问题点数:50、回复次数:33Top
1 楼xmpp(火狐狸)回复于 2005-02-02 09:27:58 得分 10
Struts中有个base标签,你看看源代码,应该就知道了。。。Top
2 楼flyylf(背叛前半生!)回复于 2005-02-02 09:29:14 得分 0
没有用struts,能不能用request.get????之累的方法得到?
Top
3 楼ymm(紫外线)回复于 2005-02-02 09:32:00 得分 2
String path=request.getRealPath(".");Top
4 楼wangzhanlili(小木头)回复于 2005-02-02 09:32:14 得分 2
request.getRequestURL();Top
5 楼wangzhanlili(小木头)回复于 2005-02-02 09:32:46 得分 2
request.getServletPath();Top
6 楼wangzhanlili(小木头)回复于 2005-02-02 09:33:45 得分 2
request.getRealPath(".");
//这是得到真实路径 如“d:/test/”Top
7 楼flyylf(背叛前半生!)回复于 2005-02-02 09:51:46 得分 0
这几个我都试过,但对我的页面没有用,由于某种原因,我这句程序必须包含在一个include文件中,当用request.getRequestURL();request.getServletPath();这些方法的时候最后得到的确实该include文件的文件名,而不是浏览器中的地址。
我的意思是:如果当前页地址拦中如果是:www.xxx.com/shop/insertdata.do?name=a&sex=male
那么页面中的程序得到的也是这个地址。能实现吗?
Top
8 楼jianglinqing(jianglinqing)回复于 2005-02-02 10:06:59 得分 3
window.location.hrefTop
9 楼flyylf(背叛前半生!)回复于 2005-02-02 10:11:26 得分 0
我知道这个是得到前一页的方法:
request.getHeader("Referer");
可是得到当前页的又是什么呢?不会没有吧?Top
10 楼drugon(更高,更远,更强)回复于 2005-02-02 10:13:16 得分 3
我看过Servlet的所有方法,如果想得到楼主那样的,好象做不到。Top
11 楼jianglinqing(jianglinqing)回复于 2005-02-02 10:16:46 得分 3
window.location.href这个得到的就是当前页的url。有什么问题么?Top
12 楼flyylf(背叛前半生!)回复于 2005-02-02 10:18:00 得分 0
真得做不到,太郁闷了,为什么前一页可以得到,当前页却得不到呢?Top
13 楼sylilzy(阿阳)回复于 2005-02-02 10:19:04 得分 2
在父页面传一个值为request.getRequestURL()的参数不就搞定了Top
14 楼SeaBirds(SeaBird)回复于 2005-02-02 10:21:59 得分 3
javascript中用location就可得到
在页面最后加上
<script>
alert(location);
</script>
看看吧,如要传到JSP去,就给一个INPUT吧
如
xxx.value=location;Top
15 楼samkuang(执着前行)回复于 2005-02-02 10:24:05 得分 0
upupTop
16 楼xmpp(火狐狸)回复于 2005-02-02 10:32:35 得分 0
本来不想在回复的。。楼主的学习态度差啊。。。
public static StringBuffer createServerStringBuffer(String scheme,String server,int port) {
StringBuffer url = new StringBuffer();
if (port < 0) {
port = 80; // Work around java.net.URL bug
}
url.append(scheme);
url.append("://");
url.append(server);
if ((scheme.equals("http") && (port != 80)) || (scheme.equals("https") && (port != 443))) {
url.append(':');
url.append(port);
}
return url;
}
方法需要的三个参数。使用内置对象request都可以获取。。。Top
17 楼flyylf(背叛前半生!)回复于 2005-02-02 10:43:06 得分 0
谢谢楼上各位,尤其感谢 xmpp(火狐狸) 老兄。过会通报情况。Top
18 楼flyylf(背叛前半生!)回复于 2005-02-02 11:15:49 得分 0
xmpp(火狐狸) 老兄,我觉得你提供的方法好象不能返回整个url,只能提供类似:
http://www.***.com:8081 格式的url ,后面的页面地址,和参数都不能返回啊。Top
19 楼flyylf(背叛前半生!)回复于 2005-02-02 11:18:20 得分 0
SeaBirds(SeaBird)老兄,你说的location确实可以在javascript中得到当前页的全地址/
可是怎么把这个javascript传给jsp中的变量呢?谢谢。Top
20 楼lvyuanfang()回复于 2005-02-02 11:44:04 得分 3
getcontextservlet1中的执行结果:
request.getContextPath():/rtccp
request.getPathInfo():null
request.getQueryString():null
request.getRequestURI():/rtccp/getcontextservlet1
request.getRequestURL():http://192.168.0.159/rtccp/getcontextservlet1
request.getServletPath():/getcontextservlet1
request.getRequestedSessionId():null
request.getServerName():192.168.0.159Top
21 楼wangwei8117(还没学会编程。)回复于 2005-02-02 11:48:58 得分 2
用javascript可以得到的!Top
22 楼loveyousomuch(★Allen★)回复于 2005-02-02 12:03:11 得分 2
SeaBirds(SeaBird)老兄,你说的location确实可以在javascript中得到当前页的全地址/
可是怎么把这个javascript传给jsp中的变量呢?谢谢。
这个只能刷新页面传值了Top
23 楼xmpp(火狐狸)回复于 2005-02-02 12:57:50 得分 0
在加个 request.getRequestURI()不就行了。。。。唉。。。Top
24 楼flyylf(背叛前半生!)回复于 2005-02-02 13:17:32 得分 0
谢谢 xmpp(火狐狸)
可是request.getRequestURI()得到的却不是当前的网页,因为我这个程序比较特殊,要求放在一个叫做template.jsp的文件include在一个(一批文件都include这个template.jsp)主文件main.jsp中,此时用request.getRequestURI()方法返回的只是template.jsp这个被include的文件,而不是其主文件名。所以这个方法行不同Top
25 楼flyylf(背叛前半生!)回复于 2005-02-02 13:29:05 得分 0
request.getRequestURI().toString()这个方法本身就可以返回整个地址,不过该地址是被include页面路径:
http://172.31.2.242/shop/template.jspTop
26 楼snowmiao2002(苗苗)回复于 2005-02-02 13:33:33 得分 1
request("url")Top
27 楼look4u(努力为明天)回复于 2005-02-02 13:34:00 得分 0
用JS,连参数都有,就是IE里显示的完整地址
window.location
javascript:alert(window.location);Top
28 楼flyylf(背叛前半生!)回复于 2005-02-02 13:37:53 得分 0
怎么把js里的值,赋给jsp中的变量呢?谢谢Top
29 楼awaysrain(绝对零度)(既然选择了远方就要日夜前行)回复于 2005-02-02 13:47:27 得分 5
--把js里的值,赋给jsp中的变量呢?谢谢
提交,可以用隐藏域
Top
30 楼look4u(努力为明天)回复于 2005-02-02 14:02:25 得分 4
把js里面的值当作一个参数传给要用这个值的JSP页面,再用
String strURL=request.getParamter("yourParam");//yourParam是你用window.location获得的值
如:test.jsp?yourParam=XXXXX/XXX/XXXXX,随便写的
Top
31 楼look4u(努力为明天)回复于 2005-02-02 14:03:58 得分 0
我觉得用隐藏域是个更保险的办法,用参数有可能会遇到特殊字符而解析出错Top
32 楼iamzhanglin(生活的压力与生命的尊严哪一个重要?)回复于 2005-02-02 16:24:14 得分 1
up!Top
33 楼flyylf(背叛前半生!)回复于 2005-02-02 16:26:28 得分 0
看来至少要刷新本页才可能得到了,第一次读该页是得不到js里的值了。谢谢大家。Top




