Comment inclure js et CSS dans JSP avec MVC printemps

je veux inclure les fichiers js et css dans mon jsp, mais je ne peux pas le faire. Je suis nouveau dans le concept de MVC de printemps. Depuis longtemps, je travaille sur le même sujet. Ma Page d'index, c'est comme cela

<!DOCTYPE html>
<html>
<head>
<link rel="stylesheet" type="text/css" href="${pageContext.request.contextPath}/style.css"/>
<script type="text/javascript" src="${pageContext.request.contextPath}/LoginPageScrip.js">

</script>

<style type="text/css">
body {
    background-image: url("LoginPageBackgroundImage.jpg");
}
</style>
</head>
<body >
    <h6>Please login in google Chrome</h6>
    <h1 align="center">Welcome to my Twitter Clone</h1>
    <div class="m" style="margin-left: 401px;   margin-top: 70px;">
        <form method="post" action="LoginForExistingUser" onsubmit="return Validate(this);">
        <fieldset>
                <legend align="center">Login</legend>
                    <div class="a">
                        <div class="l">User Name</div>
                        <div class="r">
                            <INPUT type="text" name="userName">
                        </div>
                    </div>

                    <div class="a">
                        <div class="l">Password</div>
                        <div class="r">
                            <INPUT type="password" name="password">
                        </div>
                    </div>
                    <div class="a">
                        <div class="r">
                            <INPUT class="button" type="submit" name="submit"
                                value="Login">
                        </div>
                    </div>
                    <i align="center" style="margin-left: 183px;">New User?  <a href="signup.html"><u>Signup</u></a></i>
            </fieldset>
    </form>
    </div>
</body> 
</html>

et mon répartiteur-servlet.xml est comme ça.

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

        <context:component-scan base-package="com.csc.student" />
        <mvc:annotation-driven/>
        <!--<bean id="HandlerMapping" class="org.springframework.web.servlet.handler.BeanNameUrlHandlerMapping" />-->   
        <!-- <bean name="/welcome.html" class ="csc.csc.helloController.HelloController" /> -->
    <bean id="viewResolver" class = "org.springframework.web.servlet.view.InternalResourceViewResolver" >
        <property name="prefix">
            <value>/WEB-INF/</value>
        </property>
        <property name ="suffix">
            <value>.jsp</value>
        </property>
    </bean>
</beans>

Mon contrôleur est comme ça.

package com.csc.student;

    import org.springframework.stereotype.Controller;
    import org.springframework.web.bind.annotation.RequestMapping;
    import org.springframework.web.bind.annotation.RequestMethod;
    import org.springframework.web.servlet.ModelAndView;

    @Controller
    public class StudentInfoController {

        @RequestMapping(value = "/indexPage.html", method = RequestMethod.GET)
        public ModelAndView getAdmissionFrom() {
            ModelAndView model = new ModelAndView("indexPage");
            return model;
        }
    }

Peut-on m'aider? Je lutte très dur, mais je n'ai pas de solution. J'ai gardé mon fichier js et css dans WEB-INF dossier.

18
demandé sur Cody Ferguson 2014-10-09 14:53:31

6 réponses

vous devez d'abord déclarer vos ressources dans le fichier dispatcher-servlet comme ceci:

<mvc:resources mapping="/resources/**" location="/resources/folder/" />

toute requête avec cartographie d'url / ressources /** recherchera directement/ressources/dossier/.

Maintenant dans le fichier jsp vous devez inclure dans votre fichier css comme ceci :

<link href="<c:url value="/resources/css/main.css" />" rel="stylesheet">

de Même, vous pouvez inclure des fichiers js.

J'espère que cela résoudra votre problème.

19
répondu Atul Sharma 2014-10-09 13:40:11

style.css directement dans le webapp/css pas dans le dossier WEB-INF dossier.

puis ajouter le code suivant dans votre spring-dispatcher-servlet.xml

<mvc:resources mapping="/css/**" location="/css/" />

et ensuite ajouter le code suivant dans votre page jsp

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

j'espère que cela va fonctionner.

19
répondu Saurabh Gaur 2018-04-04 21:09:04

dans une situation où vous utilisez juste MVC de printemps et non de printemps, adoptez l'approche suivante.

placer ce qui suit dans servlet dispatcher

<mvc:annotation-driven />               
<mvc:resources mapping="/css/**" location="/WEB-INF/assets/css/"/>
<mvc:resources mapping="/js/**" location="/WEB-INF/assets/js/"/>

comme vous le remarquerez /css pour l'emplacement de feuille de style, ne doit pas être dans /ressources dossier si vous n'avez pas la structure de dossier nécessaire pour MVC printemps comme c'est le cas avec une application de ressort.Il en va de même pour les fichiers javascript, les polices si vous en avez besoin, etc.

vous pouvez alors accéder aux ressources comme vous en avez besoin comme

<link rel="stylesheet" href="css/vendor/swiper.min.css" type="text/css" />
<link rel="stylesheet" href="css/styles.css" type="text/css" />

je suis sûr que quelqu'un trouvera cela utile car la plupart des exemples sont avec MVC de printemps

4
répondu Francis Benyah 2016-07-07 10:33:41

vous ne pouvez pas accéder directement à quoi que ce soit sous le WEB-INF foldere. Lorsque les navigateurs demandent votre fichier CSS, ils ne peuvent pas voir à l'intérieur du dossier WEB-INF.

Essayez de mettre vos fichiers css/css dossier WebContent.

Et ajoutez la ligne suivante dans répartiteur de servlet pour accorder l'accès ,

<mvc:resources mapping="/css/**" location="/css/" />

de même pour vos fichiers js . bel exemple ici sur ce

2
répondu San Krish 2014-10-09 10:59:53

mettez vos fichiers css / js dans le dossier src/main/webapp/resources. Ne les mettez pas dans WEB-INF ou src/main/resources.

Puis ajoutez cette ligne printemps-répartiteur-servlet.xml

<mvc:resources mapping="/resources/**" location="/resources/" />

Inclure des fichiers css/js dans des pages jsp

<link href="<c:url value="/resources/style.css" />" rel="stylesheet">

N'oubliez pas de déclarer taglib dans votre jsp

<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
2
répondu pipi 2016-08-23 10:29:12

vous devez déclarer des ressources dans le fichier servelet du répartiteur.ci-dessous deux déclarations

<mvc:annotation-driven />
<mvc:resources location="/resources/" mapping="/resources/**" />
0
répondu rajeesh 2015-09-16 14:49:47