java – Spring MVC:基于User-Agent解析视图

弹簧版本:2.5.6 我想根据用户代理头的值将视图解析为特定的速度文件. 我目前的思路是与UrlBasedViewResolver相似的实现,这样一来,用户代理值就是通过匹配正则表达式(key)将Map’d(通过context)映射到特定目录(value). 我几乎肯定有一个更简单的方法. 以前发

弹簧版本:2.5.6

我想根据用户代理头的值将视图解析为特定的速度文件.

我目前的思路是与UrlBasedViewResolver相似的实现,这样一来,用户代理值就是通过匹配正则表达式(key)将Map’d(通过context)映射到特定目录(value).

我几乎肯定有一个更简单的方法.

以前发布了一个基于User-Agent的主题确定的类似问题.然而,我的理解是,主题更多地涉及静态(css,js)内容,而不是哪个文件处理实际的响应构造(HTML,XML等).

解决方法

几个月前我有同样的问题!

在我们的移动项目(使用Spring 2.5.6)中,我们最终在SimpleUrlHandler中使用了一个拦截器.这捕获了所有传入的请求,并将-m.jsp添加到任何移动请求的末尾.

它涉及两个步骤:

1)向我们的标准URL映射器声明拦截器:

<bean id="handlerMapping"
 class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">
 <!--   This interceptor catches all
 requests and redirects them to portal
 or mobile html content.
 --> 
<property name="interceptors">    <list>
      <ref bean="MultiViewController"/>    </list> </property>

和2)实现Interceptor,它在用户代理中查找“Mobile”这个词.

public class MultiViewController extends HandlerInterceptorAdapter {

我在我的博客(关于新的令人兴奋的移动网页开发世界)发布:http://plumnash.com/it/iphone-web-development-using-spring/更详细地谈论它

作者: dawei

【声明】:永州站长网内容转载自互联网,其相关言论仅代表作者个人观点绝非权威,不代表本站立场。如您发现内容存在版权问题,请提交相关链接至邮箱:bqsm@foxmail.com,我们将及时予以处理。

为您推荐

联系我们

联系我们

0577-28828765

在线咨询: QQ交谈

邮箱: xwei067@foxmail.com

工作时间:周一至周五,9:00-17:30,节假日休息

返回顶部