我想在标题中设计包含图像的布局。我尝试将layout.tml与html组件“img”放在一个部门,但是atribute“src”取决于你所在的页面。我该如何解决这个问题?
答案 0 :(得分:1)
使用CSS是一个很好的选择;另一种方法是让Tapestry为您生成正确的图像URL:
<img src="context:images/image.png" alt="Logo"/>
在这种情况下,img
不是一个组件,而是一个动态元素; src
属性绑定到context:images/image.png1
,该属性解析为图像的正确Tapestry URL;事实上,URL将比您预期的更长,因为它将包含(在Tapestry 5.4中)基于内容的哈希码,处理将包括E-Tag支持和远期到期头。
答案 1 :(得分:0)
您可以将标题留空并使用内部css使标题的背景更改
例如,您创建标题栏
<div class="headerBG"></div>
然后在每个页面1中包括
<styles>
.headerBG {
background-image: page1Header.png;
}
</styles>
第2页
<styles>
.headerBG {
background-image: page2Header.png;
}
</styles>
等等
另一种方式是使用javascript
<script>
currPage = location.pathname.substring(1);
if (currPage == index.html) {
document.getElementByID("imageid").src="image1.png";
}
</script>