我使用的是 wicket 1.5,但在 getClientInfo() 方法中看不到

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

我在另一个地方看到了这段代码
WebClientInfo clientInfo = (WebClientInfo)WebRequestCycle.get().getClientInfo();

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

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

最佳答案

最简单的方法是使用

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() );

10-07 18:50