0

タイル構成ファイルで式言語を有効にすることに問題があります。Spring MVC のバージョンは 3.2.4 で、タイルのバージョンは 3.0.3 です。

私は何を取りこぼしたか?タイル構成:

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE tiles-definitions PUBLIC
   "-//Apache Software Foundation//DTD Tiles Configuration 3.0//EN"
   "http://tiles.apache.org/dtds/tiles-config_3_0.dtd">

<tiles-definitions>
   <definition name="base.definition"    preparer="org.apache.tiles.test.preparer.RequestSettingViewPreparer"
    template="/WEB-INF/jsp/layout.jsp">
    <put-attribute name="title" expression="${page-title}" />
    <put-attribute name="header" value="/WEB-INF/jsp/header.jsp" />
    <put-attribute name="menu" value="/WEB-INF/jsp/menu.jsp" />
    <put-attribute name="body" value="" />
    <put-attribute name="footer" value="/WEB-INF/jsp/footer.jsp" />
</definition>

<definition name="contact" extends="base.definition">
    <put-attribute name="body" value="/WEB-INF/jsp/contact.jsp" />
</definition>

</tiles-definitions>

春の構成:

    <bean id="viewResolver"
    class="org.springframework.web.servlet.view.UrlBasedViewResolver">
<property name="viewClass">
    <value>
        org.springframework.web.servlet.view.tiles3.TilesView
    </value>
</property>
</bean>
<bean id="tilesConfigurer"
    class="org.springframework.web.servlet.view.tiles3.TilesConfigurer">

            <property name="definitions" >
                <list>
                    <value>/WEB-INF/tiles-config.xml</value>
                </list>
            </property>
             <property name="checkRefresh" value="true" />
            <property name="useMutableTilesContainer" value="true" />   
</bean>

私が持っているlayout.jspで:

    <title><tiles:insertAttribute name="title" ignore="true"/></title>

コントローラーでは、この方法でページタイトルを設定しようとしていました:

@RequestMapping("/index")
public String listContacts(Map<String, Object> map, HttpServletRequest request) {

    map.put("contact", new Contact());
    map.put("contactList", contactService.listContact());
    map.put("page-title", "Episys");
    request.getSession().setAttribute("page-title", "Episys");
    request.setAttribute("page-title", "Episys");

    return "contact";
}

私は何を取りこぼしたか?

前もって感謝します。

4

1 に答える 1

0

ドキュメントによると、CompleteAutoloadTilesContainerFactoryEL を機能させるには a を使用する必要があります。

これをテストしていない場合、の javadoc は、TilesConfigurer使用する必要があることを示しているようですcompleteAutoLoadCompleteAutoloadTilesInitializerこれにより、 (tiles-extras モジュール)が登録されます。

のドキュメントをよく読んでCompleteAutoloadTilesContainerFactory、完全自動ロード モードの意味を理解してください。

于 2013-11-29T23:07:05.430 に答える