加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

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

发布时间:2020-12-14 16:24:33 所属栏目:Java 来源:网络整理
导读:弹簧版本: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/更详细地谈论它

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读