web-dev-qa-db-fra.com

Où placer les fichiers statiques pour Spark Web Framework?

Où dois-je placer les fichiers lorsque j'essaie de servir des fichiers statiques avec la structure Web Spark?

Je n'ai rien trouvé en ligne. Je commence à croire que je ne comprends rien aux chemins de classe, chemins relatifs, etc. d'un projet Eclipse et Java.

Ce paragraphe à propos des fichiers statiques dans Spark fait référence à /public, mais je ne sais pas du tout où ce serait. En utilisant Windows, Eclipse Luna et mon projet sont convertis pour utiliser Maven.

J'ai essayé de regarder le code sur GitHub, mais je suis un peu hors de ma profondeur d'essayer de le trouver.

29
creatsin

Vous devez d’abord dire à Spark où rechercher les fichiers statiques comme ceci:

Spark.staticFiles.location("/public");

Dans les versions de Spark antérieures à la version 2.5, vous devez utiliser:

Spark.staticFileLocation("/public");

Ensuite, votre projet devrait avoir un dossier public sous le dossier de ressources comme ceci

/src/main/resources/public/style.css

Par exemple, j'ai ajouté un fichier style.css à cet endroit, vous devriez donc y accéder comme ceci:

http://localhost:4567/style.css


Si vous voulez servir un dossier non classpath, vous devez utiliser

Spark.staticFiles.externalLocation("/path/to/dir");

Dans les versions de Spark antérieures à la version 2.5, vous devez utiliser:

Spark.externalStaticFileLocation("/path/to/dir");
48
Pablo Matias Gomez

Je place mes feuilles de style sous mon contenu statique comme suit:

staticFileLocation( "/web" );
/web/
  |-- index.html
  +-- styles/
        +
        +--- default.css

Et l'index.html

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

J'ai aussi d'autres pages HTML générées comme avec freemarker. Ils collectent juste le chemin:

  • /styles/default.css, ou 
  • localhost: 8081/styles/default.css

Affiche la manière dont l'index CSS l'obtient.

Source: https://groups.google.com/d/msg/sparkjava/5vMuK_5GEBU/vh_jHra75u0J

3
Dherik
  1. Faites un clic droit sur votre projet sur Eclipse, sélectionnez Create New -> Package. Donnez un nom au nouveau paquet, etc.

  2. Placez vos ressources statiques sous ce paquet afin que nous puissions être sûrs qu’elles se trouvent sous votre chemin de classe.

  3. Dans votre classe principale colde, appelez staticFileLocation ("yourpackagename /");
2
Laercio Metzner
  1. Placez votre répertoire public dans src/main/resources
  2. Remplacez Spark.staticFileLocation("/public"); par Spark.staticFileLocation("public");
1
Moses