2015-04-08 2 views
1

Ceci est mon fichier dispacter-servlet.xml. Quand je Déployez le projet de résine pro 4.0.36 il charge ma page d'index et le contenu, mais ne réussit pas à charger des fichiers css et images stockées dans le dossier staticresourcesRessources de mappage dans la servlet du répartiteur (serveur de résine)

<beans xmlns="http://www.springframework.org/schema/beans" 
xmlns:mvc="http://www.springframework.org/schema/mvc" 
xmlns:context="http://www.springframework.org/schema/context" 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
xsi:schemaLocation=" 
     http://www.springframework.org/schema/beans  
     http://www.springframework.org/schema/beans/spring-beans-3.0.xsd 
     http://www.springframework.org/schema/mvc 
     http://www.springframework.org/schema/mvc/spring-mvc-3.0.xsd 
     http://www.springframework.org/schema/context 
     http://www.springframework.org/schema/context/spring-context-3.0.xsd"> 

<context:component-scan base-package="com.dogears" /> 


<bean id="viewResolver" 
    class="org.springframework.web.servlet.view.InternalResourceViewResolver"> 
    <property name="prefix"> 
     <value>/WEB-INF/pages/</value> 
    </property> 
    <property name="suffix"> 
     <value>.jsp</value> 
    </property> 
</bean> 

<import resource="classpath:beans.xml"/> 

<mvc:resources mapping="/resources/**" location="/staticresources/" /> 
<mvc:annotation-driven /> 

S'il vous plaît quelqu'un peut me dire comment mapper mon dossier de ressources statiques, de sorte que chaque fois que la demande est du patter/resources/* il redirige la demande vers le dossier de ressources statiques. le dossier staticresources se trouve dansrépertoire MyspringProject/src/main/webapps.

+0

duplication possible de http://stackoverflow.com/questions/26325524/match-for-root-url-and-serving-of-static-resources – OO7

+0

Essayez ma réponse. Puisse-t-il t'aider. – OO7

Répondre

0

J'ai finalement trouvé ma solution. J'avais déployé ma webapp de printemps dans le dossier webapps du répertoire de résine.

Je réalise que <mvc:resource /> étiquette de cartographie ne travail lorsque vous avez déployé votre application de printemps sur le serveur de résine au lieu de tomcat.

D'où je résolu ce problème en créant d'abord un fichier de guerre de mon projet, puis extrait le fichier de guerre sur le bureau, puis placé tout le contenu du fichier de guerre dans les webapps/racine (et non dossier webapps) dossier du répertoire de résine. puis à partir de ma page d'index, j'ai utilisé JSTL TAG pour inclure la feuille de style externe.

<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %> 
<html> 
<head> 

<link rel="stylesheet" type="text/css" href="<c:url value="/staticresources/externalcss.css"/>"> 

</head> 
<body> 
<h2 class="text_style">Hello World!</h2> 
</body> 
</html> 

IL FONCTIONNE !!!

+0

Merci les gars pour toute votre aide !!!! – user2522497

0

Je crois que vous devez mapper votre répertoire staticresources en tant que répertoire racine. Dans Eclipse, ce serait un "dossier source" et dans IntelliJ une "racine des ressources".

Veuillez vous référer aux documents d'aide suivants en fonction de votre IDE:

Eclipse: http://help.eclipse.org/luna/index.jsp?topic=%2Forg.eclipse.jdt.doc.user%2Freference%2Fref-wizard-source-folder.htm

IntelliJ: https://www.jetbrains.com/webstorm/help/configuring-folders-within-a-content-root.html

0

Supposons que votre structure de de répertoire du projet est comme

- src 
    - main 
     - webapp 
     - resources 
      - css 
      - abc.css 
      - images 
      - xyz.jpg 

& votre .html ou .jsp pages se trouvent dans le répertoire ci-dessous

- webapp 
    - index.jsp 
    - pages 
    - welcome.jsp 

vous pouvez ajouter un lien à vos ressources dans index.jsp avec l'URL BaseURL/index.jsp

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

<body> 
    <img src="resources/images/xyz.jpg" alt="" style="width:100px;height:100px" /> 
</body> 

& à welcome.jsp avec l'URL BaseURL/pages/welcome.jsp comme

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

<body> 
    <img src="../resources/images/xyz.jpg" alt="" style="width:100px;height:100px" /> 
</body> 

espoir que cela vous aide.

+0

le mvc: le mappage de ressources uniquement n'est pas reconnu. donc quand j'appelle des ressources il ne se rapporte pas au dossier de ressources statiques. – user2522497

+0

et je travaille sur un projet printemps + maven – user2522497

+0

Je n'ai pas compris exactement ce que vous voulez dire? Pouvez-vous élaborer un peu plus? – OO7