0

我有 Spring Themes 工作,但我发现每次单击 Theme 时,它​​都会调用最后一个 Controller 命令(调用)。这是正常的吗?如果是这样,我怎样才能避免这个不必要的电话?

这是我的 servlet conf 文件的片段视图:

    <mvc:interceptors>
        <beans:bean class="org.springframework.web.servlet.i18n.LocaleChangeInterceptor">
            <beans:property name="paramName" value="lang" />
        </beans:bean>
        <beans:bean class="org.springframework.web.servlet.theme.ThemeChangeInterceptor">
            <beans:property name="paramName" value="theme" />
        </beans:bean>                      
    </mvc:interceptors>



    <beans:bean id="viewResolver" class="org.springframework.web.servlet.view.UrlBasedViewResolver">        
        <beans:property name="viewClass" value="org.springframework.web.servlet.view.tiles2.TilesView" />       
    </beans:bean>   


    <beans:bean id="tilesConfigurer" class="org.springframework.web.servlet.view.tiles2.TilesConfigurer">
        <beans:property name="definitions">
            <beans:list>
                <beans:value>/WEB-INF/tiles.xml</beans:value>
            </beans:list>
        </beans:property>
    </beans:bean>


    <beans:bean id="themeSource" class="org.springframework.ui.context.support.ResourceBundleThemeSource">
            <beans:property name="basenamePrefix" value="theme-" />
    </beans:bean>


    <beans:bean id="themeResolver" class="org.springframework.web.servlet.theme.CookieThemeResolver">
        <beans:property name="defaultThemeName" value="default" />
    </beans:bean>

任何信息。会有用的。

4

1 回答 1

1

一般来说这是正常的,大多数人在select元素周围放置一个表单,表单没有指定动作。这将导致再次向服务器发出最后一个请求。通常,这将导致重做最后一个操作,包括theme参数的不同值。

如果您想要不同的行为,请为更改主题的表单添加一个默认操作。您将需要由重定向到页面的控制器支持它,或者例如引荐来源标头的值。

于 2013-09-15T19:52:04.453 回答