1

我正在使用 SpringMVC,并且我对每种设备类型桌面/平板电脑/移动设备都有不同的设计

<!-- START of MOBILE -->
<mvc:annotation-driven>
    <mvc:argument-resolvers>
        <bean
            class="org.springframework.mobile.device.site.SitePreferenceWebArgumentResolver" />
        <bean class="org.springframework.mobile.device.DeviceWebArgumentResolver" />
    </mvc:argument-resolvers>
</mvc:annotation-driven>
<mvc:interceptors>
    <!-- Resolve the device which has generated the request -->
    <bean
        class="org.springframework.mobile.device.DeviceResolverHandlerInterceptor" />
    <!-- User's site preference -->
    <bean
        class="org.springframework.mobile.device.site.SitePreferenceHandlerInterceptor" />
    <!-- Redirects users to the device specific site -->
    <bean
        class="org.springframework.mobile.device.switcher.SiteSwitcherHandlerInterceptor"
        factory-method="urlPath">
        <constructor-arg value="/m" />
        <constructor-arg value="/t" />
        <constructor-arg value="/" />
    </bean>
</mvc:interceptors>
<!-- Device aware view resolving -->
<bean id="liteDeviceDelegatingViewResolver"
    class="org.springframework.mobile.device.view.LiteDeviceDelegatingViewResolver">
    <constructor-arg>
        <bean id="viewResolver"
            class="org.springframework.web.servlet.view.InternalResourceViewResolver">
            <property name="prefix" value="/WEB-INF/views/" />
            <property name="suffix" value=".jsp" />
        </bean>
    </constructor-arg>
    <property name="mobilePrefix" value="m/" />
    <property name="tabletPrefix" value="t/" />
    <property name="normalPrefix" value="/" />
    <property name="enableFallback" value="true" />
</bean>
<!-- END of MOBILE -->

我在每个设备的 /WEB-INF/views/ 文件夹中都有 /m /t 和 / 文件夹视图,一切正常,但此配置不仅适用于欢迎页面,即我用手机打开页面并查看桌面版登录.jsp(/WEB_INF/views/login.jsp 但不是 /WEB-INF/views/m/login.jsp)

<welcome-file-list>
    <welcome-file>/WEB-INF/views/login.jsp</welcome-file>
</welcome-file-list>

我必须做些什么来改变它来修复它。

4

1 回答 1

1

Just don't specify page... and handle 'home' request by controller :)

modify your web.xml to:

<welcome-file-list>
    <welcome-file></welcome-file>
</welcome-file-list>

or just remove tag

now, your HomeController should look like this:

@Controller
public class HomeController {

@RequestMapping("/")
public String home(SitePreference sitePreference, Model model) {
    return "login";

    }
}

hope this helps.

于 2014-10-17T12:13:35.653 回答