Я использую spring-mobile-device для разрешения просмотра в зависимости от типа устройства.
Добавляется префикс "mobile /" , если он с мобильного телефона.
Я также включил аварийный режим, так что если "mobile / abc.jsp" не найден, он будет выглядеть как "/ abc.jsp" .
Работает отлично, если в «mobile /» есть представление, но откат работает некорректно.
Я искал и было написано, что это работает, только если viewResolver возвращает ноль. InternalResourceViewResolver / VelocityViewResolver не возвращает ноль, даже если он не найден.
Что я должен использовать вместо InternalResourceViewResolver / UrlBasedViewResolver, чтобы он возвращал значение null при не найденном представлении и работал бы механизм отката?
Ниже мой код.
<bean id="viewResolver" class="org.springframework.mobile.device.view.LiteDeviceDelegatingViewResolver">
<constructor-arg>
<bean class="org.springframework.web.servlet.view.UrlBasedViewResolver">
<property name="viewClass" value="org.springframework.web.servlet.view.JstlView" />
<property name="prefix" value="/WEB-INF/jsp/" />
<property name="suffix" value=".jsp" />
</bean>
</constructor-arg>
<property name="mobilePrefix" value="mobile/" />
<property name="enableFallback" value="true"/>
</bean>