struts如何查找css文件?
Posted
技术标签:
【中文标题】struts如何查找css文件?【英文标题】:How is struts finding css files? 【发布时间】:2014-06-29 19:57:33 【问题描述】:我正在使用 struts 2。在我的 JSP 中,我有一个 <s:head />
标记。这会触发这个 css 链接被插入到最终的 html 文件中:
<link href="/app/styles/design.css" rel="stylesheet" type="text/css" media="all"/>
<link href="/app/styles/print.css" rel="stylesheet" type="text/css" media="print"/>
<link rel="stylesheet" href="css/flick/jquery-ui-1.10.0.xyz.min.css" />
struts 是如何知道这些文件的?如何添加或更改其他 CSS 文件?
【问题讨论】:
忘记了其他主题。我只用simple
的那个,自己处理HTML,那些文件都没有
【参考方案1】:
Struts UI 标签通过执行 freemarker 模板生成 HTML 内容。默认模板位于/template
文件夹下的核心包中。 head
标签的默认模板是head.ftl
。
每个主题有几个文件。通过为标签、页面或应用程序选择主题来使用相应的模板。查看更多关于Selecting Themes 的信息。
如果您想更改某些模板,您需要创建一个模板文件夹并将其指定为templateDir
。然后将您的head.ftl
复制/粘贴到相应主题下的此文件夹中,例如/template/xhtml/head.ftl
。现在,当template is loading 时,它将在此文件夹中搜索您覆盖的模板。
extending an existed theme 可以提供另一种解决方案。你可以选择任何适合你的。
【讨论】:
我检查了 freemarker 模板。没有什么可以告诉我为什么它正好使用 3 个三个 css 文件以及我必须做些什么来更改它们。 它在这些 FTL 中使用的次数与使用的link
标签一样多。您可以发布您的模板代码以查看 css 链接的内容和次数。
我正在使用包含struts/xhtml/styles.css
的xhtml 主题。实际上,我刚刚在生成的 HTML 中也发现了这一点。但这仍然不能解释其他 CSS 文件的来源。
检查您的项目文件中是否有 .ftl
文件或其他模板,例如速度模板 (.vm
)。
没有.ftl
文件。【参考方案2】:
这是一个讨厌的。毕竟我发现应用程序正在使用sitemesh 并且 在最终的jsp 中使用<s:head>
标记。这意味着前 3 个 CSS 文件来自 sitemesh 模板,struts/xhtml/styles.css
来自 xhtml fremarker 模板。
【讨论】:
以上是关于struts如何查找css文件?的主要内容,如果未能解决你的问题,请参考以下文章