Wicket:从浏览器获取URL

son*_*fon 6 java wicket

我需要使用Wicket从Firefox中打开的当前网页检索URL.有人可以告诉我该怎么做吗?

Sea*_*oyd 6

您需要查询基础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;

    }

}
Run Code Online (Sandbox Code Playgroud)

参考:


spu*_*uas 5

对于wicket 1.5来说,Sean Patrick Floyd的解决方案似乎已经过时了

如果使用wicket 1.5(或以上我猜)这里是解决方案:

RequestCycle.get().getUrlRenderer().renderFullUrl(
    Url.parse(urlFor(MyPage.class,null).toString()));
Run Code Online (Sandbox Code Playgroud)

参考:

获取显示的网址


小智 5

要获取当前页面的网址,请使用webrequest和UrlRenderer:

Url url = ((WebRequest)RequestCycle.get().getRequest()).getUrl();
String fullUrl = RequestCycle.get().getUrlRenderer().renderFullUrl(url);
Run Code Online (Sandbox Code Playgroud)