CSS не работает в JSP, когда помещается в файл. Почему это так?

#java #css #jsp

Вопрос:

Я пробовал его использовать <style> , и все работает нормально, но когда я ссылаюсь на CSS в файле — это вообще не работает. Если навести курсор мыши на путь в Intellij Idea — он сможет увидеть файл. Вот мой JSP

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

<!DOCTYPE html>
<html>

<head>
    <link href="${pageContext.request.contextPath}/WEB-INF/css/style.css" rel="stylesheet" >
    <title>Meals List</title>
</head>


<body>
<table class="styled-table">
<caption>Meals with Date, Description and Calories</caption>
    <thead>
    <tr>
        <th>Date</th>
        <th>Description</th>
        <th>Calories</th>
    </tr>
    </thead>


    <tbody>
    <c:forEach var="meal" items="${requestScope.meals}">
        <jsp:useBean id="meal" scope="page" type="ru.javawebinar.topjava.model.MealTo"/>

        <tr class="${meal.excess ? 'exceeded' : 'notExceeded'}">
            <td><%=ru.javawebinar.topjava.util.TimeUtil.formatLocalDateTime(meal.getDateTime(),"dd-MM-yyyy hh:mm")%></td>
            <td> ${meal.description}</td>
            <td> ${meal.calories}</td>
        </tr>
    </c:forEach>
    </tbody>

</table>
</body>
</html>
 

А вот и структура моего проекта:

введите описание изображения здесь

Комментарии:

1. @Alohci, Не могли бы вы, пожалуйста, уточнить, что вы имеете в виду

Ответ №1:

Я предлагаю вам сначала переместить его за пределы папки «WEB-INF». Следующий шаг-вызов simpy

 <link rel="stylesheet" type="text/css" href="css/style.css"/>
    
 

Если это должно быть в «WEB-INF», просто добавьте каталог как:

 <link rel="stylesheet" type="text/css" href="WEB-INF/css/style.css"/>
 

Комментарии:

1. Это должно остаться в WEB-INF, я перепробовал все, что вы написали, но это не помогает 🙁

2. вы пробовали использовать application.ContextPath вместо PageContext? Хотя это должно сработать в любом случае.

3. Вам лучше всего попробовать получить путь css в браузере. Например: локальный хост:8080/yourContextPath/css/styles.css . Затем просто «…/../css/styles.css» для applications.ContextPath