无法在 jsp 中使用外部 css 样式

问题描述 投票:0回答:1

我只是想学习 servlet 和使用 jsp 文件。我想使用外部 css 文件来设置起始页(/登录页)的格式,但我没能做到。它可以与放在头部的内部 css 一起使用,但这不太好。

我使用 docker 运行 Web 应用程序,这是它的 Dockerfile:

FROM maven:3.9.7-eclipse-temurin-11 AS builder

WORKDIR /app

COPY . /app

RUN mvn clean package

FROM tomcat:9.0.89-jre11-temurin-jammy

COPY --from=builder /app/target/*.war $CATALINA_HOME/webapps/ROOT.war

EXPOSE 8080

CMD ["catalina.sh", "run"]

这是我的文件的结构:

folder and file structure

这是我的index.jsp的开始部分:

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>

<html>
<head>
    <title>Login</title>
    <base href="${pageContext.request.contextPath}">
    <link rel="stylesheet" type="text/css" href="style.css" />
</head>

我尝试了很多东西,很多路径,但我的CSS还没有应用。例如这些:

无法在JSP页面加载外部CSS

CSS 在 JSP 中不起作用

JSP 看不到 CSS

调用转发到 JSP 的 Servlet 时,浏览器无法访问/查找 CSS、图像和链接等相关资源

有可能我只是没有注意到其中的某些内容,但我尝试仔细阅读它们。

如果我可以提供任何可以使解决方案更接近的内容,请告诉我。

非常感谢您提前提供的帮助。

css jsp servlets java-11 tomcat9
1个回答
0
投票

您可以使用

<c:url>
标签构建 css 文件的正确 url。另外,不要将静态内容与 JSP 混为一谈。在 Web 应用程序根文件夹中创建一个子文件夹
css
并在其中添加 .css 文件。然后如果你在lib文件夹中添加了正确的JSTL库文件,就可以使用

<link rel="stylesheet" type="text/css" href="<c:url value='/css/style.css'/>">
© www.soinside.com 2019 - 2024. All rights reserved.