[英]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.