在 JSPF 中获取当前页面的完整 url

Get the full url of the current page in a JSPF

我有一个 url 与此类似 http://localhost/webapp/wcs/stores/servlet/ProductDisplay?expDataType=CatalogEntryId&catalogId=10351&urlRequestType=Base&productId=14311&expDataUniqueID=14311&errorViewName=ProductDisplayErrorView&urlLangId=-1&langId=-1&storeId=11001

如何获得完整的 url?

我试过 request.getURL.toString() , request.getQueryString()request.getAttribute("javax.servlet.forward.request_uri").

但没有给出完整路径。

有人能帮忙吗?

考虑到完整的 URL 甚至没有到达应用程序服务器,因为浏览器首先打开一个到根地址的套接字,然后用它的其余部分发出 HTTP 请求。

考虑

http://www.mywebserver.com:12345/mypage1?param=value

浏览器首先打开一个套接字到 ip 地址 www.mywebserver.com:12345,然后发出一个仅包含 mypage1?param= 的 HTTP GET 请求值

也就是说,HttpServelRequest.getRequestURL() 在某些情况下是可行的。如果不是,您应该从 Web 应用程序中知道服务器的地址,或者通过隐藏字段传递它。

你可以试试这个

 String completeURL = request.getRequestURL().toString() +"?"+ request.getQueryString();

或根据您的应用进行定制。

甚至你也可以参考这个:how to get full path of URL including multiple parameters in jsp

希望对您有所帮助, 谢谢,