struts如何查找css文件?

时间:2014-05-12 12:39:42

标签: java css jsp struts2 freemarker

我正在使用struts 2.在我的JSP中,我有一个<s:head />标记。 Somhow会触发此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文件或更改它们?

2 个答案:

答案 0 :(得分: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可以实现另一种解决方案。您可以选择适合您的任何内容。

答案 1 :(得分:0)

这是一个讨厌的人。毕竟我发现应用程序正在使用sitemesh 并且在最终的jsp中使用<s:head>标记。这意味着前三个CSS文件来自sitemesh模板,struts/xhtml/styles.css来自xhtml fremarker模板。