Где статические файлы для Spark Web Framework?
Где я могу помещать файлы при попытке обслуживать статические файлы с помощью веб-инфраструктуры Spark?
Мне ничего не удалось найти в Интернете - я начинаю подозревать, что ничего не понимаю о путях классов, относительных путях и т.д. для проекта Eclipse и Java.
Этот параграф о статических файлах в Spark относится к /public
, но я понятия не имею, где это будет. Используя окна, Eclipse Luna и мой проект преобразуются для использования Maven.
Я пробовал посмотреть код на GitHub, но я немного из глубины, пытаясь его найти.
Ответы
Ответ 1
Сначала вы должны сказать Spark, где искать статические файлы следующим образом:
Spark.staticFiles.location("/public");
В версиях Spark до 2.5 вы должны использовать:
Spark.staticFileLocation("/public");
Тогда ваш проект должен иметь папку public
в папке ресурсов, подобную этой
/src/main/resources/public/style.css
Например, я добавил там файл style.css
, поэтому вы должны получить доступ к нему следующим образом:
http://localhost:4567/style.css
Если вы хотите обслуживать папку, отличную от classpath, то вы должны использовать
Spark.staticFiles.externalLocation("/path/to/dir");
В версиях Spark до 2.5 вы должны использовать:
Spark.externalStaticFileLocation("/path/to/dir");
Ответ 2
Я ставил таблицы стилей ниже моего статического содержимого следующим образом:
staticFileLocation( "/web" );
/web/
|-- index.html
+-- styles/
+
+--- default.css
И index.html
... <link href="styles/default.css" rel="stylesheet" type="text/css" />
У меня также есть другие сгенерированные HTML-страницы, как с freemarker. Они просто собирают путь:
- /styles/default.css или
- локальный: 8081/стили/default.css
Показывает индекс CSS, который получает его.
Источник: https://groups.google.com/d/msg/sparkjava/5vMuK_5GEBU/vh_jHra75u0J
Ответ 3
-
Щелкните правой кнопкой мыши свой проект на Eclipse, выберите Create New → Package. Дайте новому пакету имя и т.д.
-
Поместите свои статические ресурсы в этот пакет, чтобы мы могли быть уверены, что они находятся под вашим пути к классам.
- В вашем основном классе colde вызовите staticFileLocation ( "yourpackagename/" );
Ответ 4
- Поместите свой общий каталог в
src/main/resources
- Заменить
Spark.staticFileLocation("/public");
на Spark.staticFileLocation("public");