[英]Wicket: Get URL from browser
我需要使用Wicket從Firefox中打開的當前網頁檢索URL。 有人可以告訴我該怎么做嗎?
您需要查詢基礎HTTPServletRequest :
public class DummyPage extends WebPage{
private String getRequestUrl(){
// this is a wicket-specific request interface
final Request request = getRequest();
if(request instanceof WebRequest){
final WebRequest wr = (WebRequest) request;
// but this is the real thing
final HttpServletRequest hsr = wr.getHttpServletRequest();
String reqUrl = hsr.getRequestURL().toString();
final String queryString = hsr.getQueryString();
if(queryString != null){
reqUrl += "?" + queryString;
}
return reqUrl;
}
return null;
}
}
參考:
要獲取當前頁面的網址,請使用webrequest和UrlRenderer:
Url url = ((WebRequest)RequestCycle.get().getRequest()).getUrl();
String fullUrl = RequestCycle.get().getUrlRenderer().renderFullUrl(url);
對於wicket 1.5來說,Sean Patrick Floyd的解決方案似乎已經過時了
如果使用wicket 1.5(或以上我猜)這里是解決方案:
RequestCycle.get().getUrlRenderer().renderFullUrl(
Url.parse(urlFor(MyPage.class,null).toString()));
參考 :
這有效。 我正在使用wicket 1.5;
新URL(RequestCycle.get()。getUrlRenderer()。renderFullUrl(Url.parse(urlFor(HomePage.class,null).toString())))。 getAuthority() ;
示例: http : //example.com : 80 / a_long_path /
getAuthproty()將返回example.com:80
getHost()將返回example.com。
根據您的具體需求,這可能無法實現。 Wicket wiki中有一個簡短的指南,但它有一些注意事項,特別是它只返回1.3之后的Wicket版本中的相對URL。 也就是說,使用的方法是
String url = urlFor("pageMapName", MyPage.class, new PageParameters("foo=bar"));
如果您使用wiki的替代方法 - 涉及表單的方法 - 請注意: getPage()
不是Wicket的公共API的一部分 。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.