4

我正在使用 wicket 1.5,但我无法在该getClientInfo()方法 中看到

(WebRequest)RequestCycle.get().getRequest()

我在其他地方看到了这段代码

WebClientInfo clientInfo = (WebClientInfo)WebRequestCycle.get().getClientInfo();

但我在 Wicket 1.5 中看不到任何 WebRequestCycle。

任何想法如何检查 Wicket 1.5 中的用户代理?

4

2 回答 2

10

最简单的方法是使用

WebSession.get().getClientInfo().getUserAgent();

在较新的 Wicket 版本(6 或更高版本)上,您应该使用:

WebClientInfo clientInfo = new WebClientInfo(getRequestCycle());

System.out.println("Client: " + clientInfo.getUserAgent());
System.out.println("Navigator: " + clientInfo.getProperties().getNavigatorAppName() + ", version " + clientInfo.getProperties().getNavigatorAppVersion()  + ", codName: " + clientInfo.getProperties().getNavigatorAppCodeName() + ", plataform: " + clientInfo.getProperties().getNavigatorPlatform() + ", AppCodName: " + clientInfo.getProperties().getNavigatorAppCodeName());
System.out.println("NavigatorUserAgent: " + clientInfo.getProperties().getNavigatorUserAgent());
System.out.println("Tamanho da tela (Width x Height): " + clientInfo.getProperties().getScreenWidth() + " x "  + clientInfo.getProperties().getScreenHeight() );
于 2012-05-24T06:48:59.370 回答
2

你也可以这样做:

((WebRequest) getRequest()).getHeader("User-Agent")
于 2015-03-20T12:57:40.540 回答