java - 必须为元素类型 "inherit"声明属性 "put-list-attribute"

标签 java spring apache tiles

我正在将 Apachetile 3.0.5 与 Spring MVC 结合使用。但是,当我尝试使用“put-attribute”包含一些页面特定的 JS/CSS 时,我收到错误消息:

必须为元素类型“put-list-attribute”声明属性“inherit”。

下面是我的tile.xml 文件:

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

<tiles-definitions>

    <!-- Default Main Template -->
    <definition name="mainTemplate" template="/WEB-INF/tiles/template.jsp">
        <put-attribute name="title" value="Simple Tiles 2 Example" type="string" />
        <put-attribute name="header" value="/WEB-INF/tiles/header.jsp" />
        <put-attribute name="navigation" value="/WEB-INF/tiles/nav.jsp" />
        <put-attribute name="body" value="/WEB-INF/tiles/blank.jsp" />
        <put-attribute name="footer" value="/WEB-INF/tiles/footer.jsp" />
        <put-list-attribute name="javascripts">
	        <add-attribute value="https://ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js" />
	        <add-attribute value="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.2/js/bootstrap.min.js" />
	        <add-attribute value="https://cdnjs.cloudflare.com/ajax/libs/bootstrap-datepicker/1.4.0/js/bootstrap-datepicker.min.js" />
	    </put-list-attribute>
	    <put-list-attribute name="stylesheets">
	        <add-attribute value="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.2/css/bootstrap.min.css" />
	        <add-attribute value="/resources/css/business-casual.css" />
	        <add-attribute value="https://cdnjs.cloudflare.com/ajax/libs/bootstrap-datepicker/1.4.0/css/bootstrap-datepicker.min.css" />
	    </put-list-attribute>
    </definition>
 
 	<!-- Default Main Template -->
    <definition name="dataEntryTemplate" template="/WEB-INF/tiles/data-entry-template.jsp">
        <put-attribute name="body" value="/WEB-INF/tiles/blank.jsp" />
    </definition>
 
    <definition name="home" extends="mainTemplate">
    	<put-attribute name="title" value="Home" type="string" />
        <put-attribute name="body" value="/WEB-INF/views/index.jsp" />
    </definition>

    <definition name="manage-student" extends="mainTemplate">
    	<put-attribute name="title" value="Manage Student" type="string" />
        <put-attribute name="body" value="/WEB-INF/views/manage-student.jsp" />
        <put-list-attribute name="javascripts" cascade="true" inherit="true">
	        <add-attribute value="/static/stylesheets/sign-in.js" />
	    </put-list-attribute>
    </definition>
</tiles-definitions>

最佳答案

您可以为您的第一个 put-list-attribute 标记添加元素继承=“true”吗

<put-list-attribute name="javascripts" inherit="true">

希望这能解决您的问题。

关于java - 必须为元素类型 "inherit"声明属性 "put-list-attribute",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29057822/

相关文章:

java - 缩放 OpenGL 游戏中的所有图形

java - NatTable 的 JUnit 测试

spring - ClassNotFoundException:SimpleGrantedAuthority-Grails 2.4.2和Spring Security

java - Spring Java 上下文配置最佳实践

java - 使用jdbc属性文件在applicatioinContext.xml中设置dataSource。为什么我必须使用${jdbc.XXX}而不是${XXX}?

apache - 在树莓派上设置 SSL

java - If/Else 语句 - 子句不执行 Java

java - 为什么我的 mysql 服务器上不断出现 Converting HEAP to MyISAM

php - 不常见的 502 Bad Gateway 错误

apache - Tomcat 启动时间过长