如何从Apache Tiles模板引用属性列表

我试图在基本模板中定义一个属性列表,其中包括所有css链接,并且子定义将根据需要附加其他css链接。我在磁贴定义配置文件中定义了该列表,并尝试在template.jsp文件中使用该列表,但是出现以下错误:

org.apache.tiles.template.NoSuchAttributeException:导入属性时出错。属性“链接”为空

    <?xml version="1.0" encoding="UTF-8" ?>

<!DOCTYPE tiles-definitions PUBLIC

"-//Apache Software Foundation//DTD Tiles Configuration 2.1//EN"

"http://tiles.apache.org/dtds/tiles-config_2_1.dtd">

<tiles-definitions>

<definition name="master.template"

template="/WEB-INF/tiles/templates/template.jsp">

<put-attribute name="title" value="" />

<put-attribute name="header" value="/WEB-INF/tiles/templates/header.jsp" />

<put-attribute name="menu" value="/WEB-INF/tiles/templates/menu.jsp" />

<put-attribute name="body" value="/WEB-INF/views/home.jsp" />

<put-attribute name="footer" value="/WEB-INF/tiles/templates/footer.jsp" />

<put-list-attribute name="links" inherit="true" cascade="true">

<add-attribute type="string" value="/stles/default.css" />

<add-attribute type="string" value="/styles/another.css" />

</put-list-attribute>

</definition>

<definition name="home" extends="master.template">

<put-attribute name="title" value="Welcome Home" />

<put-attribute name="body" value="/WEB-INF/views/home.jsp" />

</definition>

<definition name="about" extends="master.template">

<put-attribute name="title" value="About" />

<put-attribute name="body" value="/WEB-INF/views/about.jsp" />

</definition>

</tiles-definitions>

<%@ taglib prefix="tiles" uri="http://tiles.apache.org/tags-tiles"%>

<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>

<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">

<html>

<head>

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

<!-- links -->

<tiles:useAttribute name="links"/>

<c:forEach var="href" items="${items}">

<link type="text/css" rel="stylesheet" href="${href}" />

</c:forEach>

</head>

<body>

<div id="page">

<div id="header"><tiles:insertAttribute name="header" /></div>

<div id="menu"><tiles:insertAttribute name="menu" /></div>

<div id="body"><tiles:insertAttribute name="body" /></div>

<div id="footer"><tiles:insertAttribute name="footer" /></div>

</div>

</body>

</html>

问题访问/。原因:

ServletException including path '/WEB-INF/tiles/templates/template.jsp'.

造成原因:

org.apache.tiles.impl.CannotRenderException:ServletException,包括路径“ /WEB-

INF/tiles/templates/template.jsp”。在org.apache.tiles.impl.BasicTilesContainer的org.apache.tiles.impl.BasicTilesContainer.render(BasicTilesContainer.java:692)处(BasicTilesContainer.java:627)在org.apache.tiles.impl.BasicTilesContainer.render(BasicTilesContainer.java:321)在org.springframework.web.servlet.view.tiles2.TilesView.renderMergedOutputModel(TilesView.java:124)在org.springframework.web.servlet.DispatcherServlet.render(DispatcherServlet.java:1031)上的org.springframework.web.servlet.view.AbstractView.render(AbstractView.java:250)在org.springframework.web.servlet.DispatcherServlet上。在org.mortbay.thread.QueuedThreadPool

$

PoolThread.run(QueuedThreadPool.java:582)处运行(SelectChannelEndPoint.java:409)原因:org.apache.tiles.util.TilesIOException:ServletException包括路径’/

WEB-INF / tiles

/templates/template.jsp”。在org.apache.tiles.servlet.context.ServletTilesRequestContext.forward(ServletTilesRequestContext.java:243)在org.apache.tiles.servlet.context.ServletUtil.wrapServletException(ServletUtil.java:241)在org.apache.tiles.servlet

org.apache.tiles.renderer.impl.TemplateAttributeRenderer.write(TemplateAttributeRenderer.java:44)处的.context.ServletTilesRequestContext.dispatch(ServletTilesRequestContext.java:222)org.apache.tiles.renderer.impl.AbstractBaseAttributeRenderer.render(AbstractBaseAttributeRenderer

.java:106),网址为org.apache.tiles.impl。org.apache.tiles.impl.BasicTilesContainer.render(BasicTilesContainer.java:690)处的BasicTilesContainer.render(BasicTilesContainer.java:670)…

37更多原因:org.apache.tiles.template.NoSuchAttributeException:导入属性时出错。属性``links’‘在org.apache.tiles的org.apache.tiles.template.ImportAttributeModel.getImportedAttributes(ImportAttributeModel.java:78)的org.apache.tiles.template.ImportAttributeModel.importSingleAttribute(ImportAttributeModel.java:133)为null

org.apache.jsp.WEB_002dINF.tiles.templates.template_jsp._jspService(template_jsp.java:110)上的.jsp.taglib.UseAttributeTag.doTag(UseAttributeTag.java:175)在org.apache.jasper.runtime.HttpJspBase.service

(HttpJspBase.java:97),位于org.apache的javax.servlet.http.HttpServlet.service(HttpServlet.java:717)。

造成原因:

org.apache.tiles.util.TilesIOException:ServletException,包括路径“ /WEB-

INF/tiles/templates/template.jsp”。在org.apache.tiles.servlet.context.ServletTilesRequestContext.forward(ServletTilesRequestContext.java:243)在org.apache.tiles.servlet.context.ServletUtil.wrapServletException(ServletUtil.java:241)在org.apache.tiles.servlet

org.apache.tiles.renderer.impl.TemplateAttributeRenderer.write(TemplateAttributeRenderer.java:44)处的.context.ServletTilesRequestContext.dispatch(ServletTilesRequestContext.java:222)在org.apache.tiles.renderer.impl.AbstractBaseAttributeRenderer.render(AbstractBaseAttributeRenderer

.java:106)在org.apache.tiles.impl.BasicTilesContainer.render(BasicTilesContainer.java:670)在org.apache.tiles.impl.BasicTilesContainer.render(BasicTilesContainer.java:

造成原因:

org.apache.tiles.template.NoSuchAttributeException:导入属性时出错。在org.apache.tiles的org.apache.tiles.template.ImportAttributeModel.getImportedAttributes(ImportAttributeModel.java:78)的org.apache.tiles.template.ImportAttributeModel.importSingleAttribute(ImportAttributeModel.java:133)处属性’links’为空org.apache.jsp.WEB_002dINF.tiles.templates.template_jsp._jspService(template_jsp.java:110)上的.jsp.taglib.UseAttributeTag.doTag(UseAttributeTag.java:175)在org.apache.jasper.runtime.HttpJspBase.service

(HttpJspBase.java:97),位于org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:377),位于javax.servlet.http.HttpServlet.service(HttpServlet.java:717)。

org.apache上的servlet.JspServlet.serviceJspFile(JspServlet.java:313)。

回答:

我认为存在一个问题:Inherited =“ true”属性。由于您没有扩展定义,因此请尝试将其删除并查看它是否有效。

以上是 如何从Apache Tiles模板引用属性列表 的全部内容, 来源链接: utcz.com/qa/398802.html

回到顶部