Apache Tiles配置不起作用

问题描述 投票:0回答:1

我为Tiles设置了配置,但它只加载扩展页面,这是主要内容,但不是header.jsp或footer.jsp。它也不会出错。

我认为它不会在action-servlet.xml中应用Tiles的配置,而只应用其他视图解析器......

我不知道为什么......我做错了什么?

action-servlet.xml文件

<!-- tiles -->
<bean id="tilesViewResolver" class="org.springframework.web.servlet.view.tiles3.TilesViewResolver">
    <property name="order" value="0" />
</bean> 
<bean id="tilesConfigurer" class="org.springframework.web.servlet.view.tiles3.TilesConfigurer">
    <property name="definitions">
        <value>/WEB-INF/layout/layout.xml</value>
    </property>
</bean>

<bean class="org.springframework.web.servlet.view.BeanNameViewResolver" p:order="1" />

<!-- View Resolver -->
<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
    <property name="prefix" value="/WEB-INF/views/" />
    <property name="suffix" value=".jsp" />
    <property name="order" value="2" />
</bean> 

layout.xml

<tiles-definitions>

<definition name="base" template="/WEB-INF/views/template/base.jsp">    
    <put-attribute name="header" value="/WEB-INF/views/template/header.jsp" />
    <put-attribute name="footer" value="/WEB-INF/views/template/footer.jsp"/>
</definition>

<definition name="/" extends="base">    
    <put-attribute name="content" value="/WEB-INF/views/contents/boardList.jsp" />
</definition>
</tiles-definitions>

base.jsp

<!DOCTYPE html>
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
<title>Insert title here</title>
</head>
<body>
<div id="container">

<!-- header -->
<tiles:insertAttribute name="header" />

<!-- contents -->
<tiles:insertAttribute name="content"/>

<!-- footer -->
<tiles:insertAttribute name="footer" />

</div>
</body>
</html>
<html>
<head>
tiles
1个回答
0
投票

您没有在扩展匿名定义中包含页眉,页脚属性。修改layout.xml,如下所示,

<tiles-definitions>

<definition name="base" template="/WEB-INF/views/template/base.jsp">    
   <put-attribute name="header" value="" />
   <put-attribute name="footer" value=""/>
</definition>

<definition name="/" extends="base">    
  <put-attribute name="content" value="/WEB-INF/views/contents/boardList.jsp" />
  <put-attribute name="header" value="/WEB-INF/views/template/header.jsp" />
  <put-attribute name="footer" value="/WEB-INF/views/template/footer.jsp"/>
</definition>
</tiles-definitions>
© www.soinside.com 2019 - 2024. All rights reserved.