我正在制作一个网页,现在我想制作这个网页的移动版本。我的问题是如何使用相同的应用程序在桌面和移动浏览器上工作(我使用的是mozilla的Fennec版本)。我的应用程序如何检测它是否是通过哪种浏览器(桌面或移动)访问的。我使用的是JSF2.0和primefaces2.2,我在某处读到过,通过覆盖calculateRenderKitId应用程序接口,我们可以做到这一点。有没有人这样做过。(我有移动版和桌面版的不同页面,但支持bean是相同的)
发布于 2011-11-24 20:50:56
如何检测我的应用程序是通过哪种浏览器(桌面或移动)访问的
您可以检查请求标头以检测哪个是客户端
String userAgent = request.getHeader("User-Agent");发布于 2011-11-25 02:39:18
您需要覆盖JSF视图处理程序,因此只需编写一个扩展ViewHandlerWrapper并覆盖calculateRenderKitId的类即可。
http://docs.oracle.com/javaee/5/api/javax/faces/application/ViewHandlerWrapper.html
之后,在faces-config.xml中配置视图处理程序。
https://stackoverflow.com/questions/8257323
复制相似问题