【发布时间】:2012-11-13 05:50:41
【问题描述】:
我在 struts2 应用程序中使用磁贴。在定义基本布局时,我定义了一个属性“scriptFile”。
<definition name="baseLayout" template="/application/base-layout.jsp" >
...
</definition>
<definition name="custom.tiles" extends="baseLayout">
<put-attribute name="scriptFile" value="js/custom-script.js"></put-attribute>
</definition>
如果开发者在tiles定义文件“tiles.xml”中提供了“scriptFile”,这个脚本文件应该包含在下面的行中
<script language="javascript" src="<tiles:insertAttribute name="scriptFile"></tiles:insertAttribute>"></script>
但是如果没有定义scriptFile属性,则必须跳过这一行。
如何检查图块中是否存在“scriptFile”属性。有没有更好的方法来做这件事?
【问题讨论】:
-
您使用的是什么版本的磁贴? scriptFile 属性从何而来?它在运行时是动态的吗?如果这只是平铺定义,您应该创建几个“头”模板,并包含适当的头,如果您使用需要您提供 scriptFile 的头,那么您将需要提供一个脚本文件。如果一个 struts2 动作需要一个 id 来完成它的工作,那么你不能很好地不发送一个 id 并期望它能够工作(对于瓷砖也是如此)。如果这是动态内容,还有其他可能性。
-
版本 = 瓷砖 2.0.6。属性来自tiles.xml,它不是动态的。布局由页面标题、菜单、内容和页脚组成。每页只更改内容。如果内容需要任何 javascript,开发人员将提供该 JS 文件并在tiles.xml 中定义它。然后,此 javascript 文件将包含在页眉中。
标签: jakarta-ee struts2 tiles apache-tiles