Spring MVC: Разрешение представления на основе Агента пользователя

Каждый браузер, который поддерживает XHTML (Firefox, Opera, Safari, IE9) поддерживает закрывающийся автоматически синтаксис на [1 139] каждый элемент .

,

3 ответа

Я иду с пользовательским резольвером видов, как предложено в комментариях. (и обновление моего приложения до весны 3.0.0)

.
1
ответ дан 2 December 2019 в 23:07
поделиться

Альтернатива, которая не требует настройки в ViewResolver, может включать файл скорости верхнего уровня, а затем условный синтаксический анализ субфайлов, которые имеют что-то вроде следующего.

#if ($userAgent1)
  #parse ("user-agent-1.vm")
#elseif ($userAgent2)
  #parse ("user-agent-2.vm")
#end

Однако реализация создание нового или расширение существующего ViewResolver - довольно простое решение, и я бы пошел именно так.

1
ответ дан 2 December 2019 в 23:07
поделиться

Несколько месяцев назад у меня была такая же проблема!

В нашем мобильном проекте (с использованием Spring 2.5.6) мы закончили тем, что использовали перехватчик с нашим SimpleUrlHandler. Это перехватило все входящие запросы и добавило -m.jsp в конец любых мобильных запросов.

Это включало два шага:

1) объявление перехватчика для нашего стандартного URL Mapper:

 <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) реализация перехватчика, который искал слово «Мобильный» в пользовательском агенте.

public class MultiViewController extends HandlerInterceptorAdapter {

Я рассказываю об этом более подробно в своем блоге (о новом захватывающем мире мобильной веб-разработки) в сообщении: http://plumnash.com/it/iphone-web-development-using-spring/

2
ответ дан 2 December 2019 в 23:07
поделиться
Другие вопросы по тегам:

Похожие вопросы: