我在找到正确的方式提出这个问题时遇到了一些问题。但我希望你能理解这个问题并能够提供帮助。
我使用jsp设置了一个非常基本的Maven Web-App。
目前我有2页。
我还有header.jsp
和footer.jsp
。
index.jsp和home.jsp都使用页眉和页脚。
标题中是指向stylesheet
的链接。
当我运行项目时。
index.jsp
和home.jsp
都使用标题(他们有正确的标记)
但只有index.jsp
使用stylesheet
。
为什么home.jsp
不使用stylesheet
,即使正确包含标题也是如此。
以下是一些代码图片,可帮助您了解情况。
项目结构
包含header / footer.jsp
的Index.jspHome.jsp与header / footer.jsp包含相同,只是路径不同。 但它们正确加载,除了css。
这是Header.jsp,带有样式表的链接
如果您需要更多信息,我很乐意给予。
答案 0 :(得分:1)
使用以下代码链接header.jsp中的css:
<link rel="stylesheet" type="text/css" href="../../../css/default-header.css"/>
注意:您需要正确找到资源,&#34; ../"将在后退文件夹中搜索资源。
目前,您的header.jsp
将搜索位于default
的{{1}}文件夹中的资源,但您的css位于webapp\pages\layouts\default
文件夹中。因此,您需要遍历以找到该资源。
技巧:按webapp\css
并点击超参考链接,如果链接正确,应直接打开资源。否则,如果提供了错误的路径,则无法找到资源
希望您使用的是IDE。
对于您的评论中的查询,
ctrl key
文件位于index.jsp
文件夹中,因此您必须将header.jsp包含为layouts
。现在,您的代码将在default/header.jsp
layouts/layouts/default/header.jsp
,如果您能够访问home.jsp
,则应footer.jsp
访问header.jsp
。代码header.jsp
在../layouts/default/header.jsp
。答案 1 :(得分:0)
感谢@Rohit Gaikwad的回答,我能够自己解决这个问题。
原来你需要从使用过的页面中找到css(不仅来自<IfModule mod_rewrite.c>
# Perch Runway
RewriteEngine On
RewriteCond %{HTTP:X-Forwarded-Proto} !https
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}
RewriteCond %{REQUEST_URI} !^/perch
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule .* /perch/core/runway/start.php [L]
</IfModule>
,还来自header.jsp
所以我将样式表的链接更改为以下内容:
index/home.jsp
这样我可以在index.jsp和home.jsp中使用
(仍然不确定为什么index.jsp可以从 <link rel="stylesheet" type="text/css" href="css/default-header.css"/>
<link rel="stylesheet" type="text/css" href="../../css/default-header.css"/>
链接加载css,而无需使用“../")