检查Wicket中的用户代理

检查Wicket中的用户代理,wicket,user-agent,Wicket,User Agent,我使用的是wicket 1.5,无法在getClientInfo()方法中查看 (WebRequest)RequestCycle.get().getRequest() 我看到另一个地方有这个密码 WebClientInfo clientInfo = (WebClientInfo)WebRequestCycle.get().getClientInfo(); 但是我在Wicket 1.5中看不到任何WebRequestCycle 你知道如何在Wicket 1.5中检查用户代理吗 最简单的方法是使

我使用的是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() );
您还可以执行以下操作:

((WebRequest) getRequest()).getHeader("User-Agent")

那是每节课一次,对吗?我在寻找每个请求,比如在WebApplication中编写一个RequestMapper,并处理呈现哪个版本的方向,例如桌面或移动。Wicket缓存每个会话的客户端信息,因为预计它不会改变。如果您认为可能,并且希望每个请求都使用它,您可以随时执行WebClientInfo info=new WebClientInfo(RequestCycle)。好的,我知道会话不会更改,但我不想在每个页面中编写相同的代码,我如何在应用程序级别控制此用户代理?