我正在将一个已有的Tiles 1网站转换为Tiles 2架构。 我在将JSP页面中的值传递给tiles属性时遇到了问题。
这是我的tiles定义文件(tiles-definition.xml)
<tiles-definitions>
<definition name="cda.layout" template="/jsp/layouts/layout.jsp">
<put-attribute name="pageTitle" value="StoryTitle" type="string"/>
<put-attribute name="pageHeader" value="StoryHeader" type="string"/>
<put-attribute name="resources" value="" type="string"/>
</definition>
</tiles-definitions>
layout.jsp的样式如下:
<html>
<head>
<title><tiles:insertAttribute name="pageTitle" flush="true"/></title>
</head>
<body>
...
...
<div class="content">
<h1><tiles:insertAttribute name="pageHeader" flush="true"/></h1>
</div>
...
...
</body>
</html>
我有一个故事页面,它使用布局并需要将值传递给模板属性。
<%
// create a business object and populate
String mytitle= story.getTitle();
String myheader = story.getHeader();
%>
<tiles:insertTemplate template="../layouts/layout.jsp" flush="false" >
<tiles:putAttribute name="pageTitle" value="${mytitle}"/>
<tiles:putAttribute name="pageHeader"value="${myheader}"/>
</tiles:insertTemplate>
在story.jsp页面中,我可以使用System.out.print()打印出mytitle和myheader的值,并且它们显示正确。但是,这些值没有传递给tile属性。有什么想法如何解决这个问题吗?