我正在使用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文件或更改它们?
答案 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模板。