0

Spring テーマが動作していますが、テーマをクリックするたびに、最後のコントローラー コマンド (呼び出し) が呼び出されることがわかりました。これは正常ですか?もしそうなら、どうすればこの不必要な呼び出しを避けることができますか?

これは、私のサーブレット 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 に答える