2014-03-03 37 views
0

我無法加載JS和CSS文件中使用Spring MVC 3 tiles3於JSP。有人能幫我嗎。這裏是我的配置。如何加載JS和CSS文件中的Spring MVC 3 tiles3

項目的文件夾結構

-SpringWithTiles 
----webapp 
--------resouces 
----------script 
--------------js 
---------------myscript.js 
--------------css 
---------------style.css 
----WEB-INF 
-------jsp 
---------signIn.jsp 

servlet.xml中

<bean class="org.springframework.web.servlet.view.UrlBasedViewResolver" id="viewResolver"> 
    <property name="viewClass"> 
    <value> 
     org.springframework.web.servlet.view.tiles3.TilesView 
    </value> 
    </property> 
</bean> 
    <bean id="tilesConfigurer" 
    class="org.springframework.web.servlet.view.tiles3.TilesConfigurer"> 
    <property name="definitions"> 
     <list> 
      <value>/WEB-INF/tiles.xml</value> 
     </list> 
    </property> 
</bean> 

<mvc:resources mapping="/resources/script/js/**" location="/webapp/resources/script/css" /> 
<mvc:resources mapping="/resources/script/css/**" location="/webapp/resources/script/js" />` 

tiles.xml

<tiles-definitions> 
    <definition name="baseLayout" template="/WEB-INF/layout/simpleLayout.jsp"> 
     <put-attribute name="title" value="" /> 
     <put-attribute name="header" value="/WEB-INF/layout/header.jsp"/> 
     <put-attribute name="body" value="" /> 
     <put-attribute name="footer" value="/WEB-INF/layout/footer.jsp" /> 
    </definition> 
<!-- <definition name="baseLayoutWithLeftPane" template="/jsp/layout 
/layoutWithLeftPane.jsp"> 
     <put-attribute name="title" value="Learn - Educate" /> 
     <put-attribute name="header" value="/jsp/layout/header.jsp" /> 
     <put-attribute name="navigation" value="/jsp/layout/navigation.jsp" /> 
     <put-attribute name="body" value="" /> 
     <put-attribute name="footer" value="/jsp/layout/footer.jsp" /> 
    </definition> 
    <definition name="welcome" extends="baseLayoutWithLeftPane"> 
     <put-attribute name="title" value="Learn - Educate" /> 
     <put-attribute name="body" value="/jsp/home.jsp" /> 
    </definition> --> 
    <definition name="siginIn" extends="baseLayout"> 
     <put-attribute name="title" value="siginIn" /> 
     <put-attribute name="body" value="/WEB-INF/jsp/siginIn.jsp" /> 
    </definition>  

的web.xml

 <servlet-mapping> 
    <servlet-name>babwitU</servlet-name> 
    <url-pattern>/</url-pattern> 
    </servlet-mapping> 
    <welcome-file-list> 
    <welcome-file>/index.jsp</welcome-file> 
    </welcome-file-list> 

的index.jsp

<a href="redirectToSiginIn">Click Here</a> 

Contoller.java

@RequestMapping("/redirectToSiginIn") 
public ModelAndView siginIn(){ 
    ModelAndView mav=new ModelAndView(); 
    mav.setViewName("/siginIn"); 
    return mav; 
} 
+0

你什麼錯誤? –

+0

調試點沒有達到到控制器的請求映射方法 –

+0

這個問題是不是什麼做的是能夠加載JS/CSS?看起來好像你說的問題是當你點擊你的登錄鏈接控制器沒有被調用?你試圖解決的問題是? – rhinds

回答

0

在servlet.xml中變化映射像這樣的位置= 「/資源/腳本/ CSS」 並給予從資源路徑/ fileNameToLoad要加載JS烏爾或CSS

在位置屬性給從/資源路徑/ **不是從/ webapps /下

0

正確的映射應該是:

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

在屬性location第一/表示${webappRoot}了。

+0

我試過你的修改但不工作,這裏我得到的問題是每當我點擊鏈接(在indec.jsp中),那麼調試點沒有達到其在控制器中的請求映射方法。你有任何想法爲什麼它不是來..請幫助我 –

+0

嗨@BabuG,但在'index.jsp'上,樣式表和js文件被加載,對吧?如果你點擊一個鏈接,那麼它不起作用,有很多可能性。你需要用stacktrace另一個問題來聲明你的問題。 – Jaiwo99

0

我的問題得到具有以下配置解決..感謝所有

的web.xml

<?xml version="1.0" encoding="UTF-8"?> 
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:web="http://xmlns.jcp.org/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd" id="WebApp_ID" version="2.4"> 
    <display-name>babwitU</display-name> 
    <servlet> 
    <servlet-name>babwitU</servlet-name> 
    <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> 
    <init-param> 
     <param-name>contextConfigLocation</param-name> 
     <param-value>/WEB-INF/coreJava.xml,/WEB-INF/home.xml</param-value> 
    </init-param> 
    <load-on-startup>1</load-on-startup> 
    </servlet> 
    <servlet-mapping> 
    <servlet-name>babwitU</servlet-name> 
    <url-pattern>/</url-pattern> 
    </servlet-mapping> 
    <welcome-file-list> 
    <welcome-file>/index.jsp</welcome-file> 
    </welcome-file-list> 

    <!-- <listener> 
    <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class> 
    </listener> --> 

</web-app> 

servelt.xml

<context:component-scan base-package="com.babwitU.life.dream.controller" /> 
    <mvc:annotation-driven /> 
    <bean id="propertyConfigurer" 
     class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer"> 
     <!-- <property name="location" value="classpath:jdbc.properties" /> --> 
    </bean> 

<!-- <bean id="viewResolver" 
     class="org.springframework.web.servlet.view.InternalResourceViewResolver"> 
     <property name="prefix" value="/WEB-INF/jsp"></property> 
     <property name="suffix" value=".jsp"></property> 
    </bean> --> 
    <bean class="org.springframework.web.servlet.view.UrlBasedViewResolver" id="viewResolver"> 
    <property name="viewClass"> 
    <value> 
     org.springframework.web.servlet.view.tiles3.TilesView 
    </value> 
    </property> 
</bean> 
    <bean id="tilesConfigurer" 
    class="org.springframework.web.servlet.view.tiles3.TilesConfigurer"> 
    <property name="definitions"> 
     <list> 
      <value>/WEB-INF/tiles.xml</value> 
     </list> 
    </property> 
</bean> 

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

controller.java

@RequestMapping(value ="redirectToSiginIn", method = RequestMethod.GET) 
    public ModelAndView viewSiginIn(){ 
     ModelAndView mav=new ModelAndView(); 
     mav.setViewName("siginIn"); 
     return mav; 
    } 
    @RequestMapping(value ="home", method = RequestMethod.GET) 
    public ModelAndView viewHome(){ 
     ModelAndView mav=new ModelAndView(); 
     mav.setViewName("home"); 
     return mav; 
    } 
    @RequestMapping(value ="java", method = RequestMethod.GET) 
    public ModelAndView viewJava(){ 
     ModelAndView mav=new ModelAndView(); 
     mav.setViewName("java"); 
     return mav; 
    } 

myjsp.jsp

<html> 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> 
<title> <tiles:getAsString name="title" ignore="true"></tiles:getAsString > 
</title> 
<!-- <script type="text/javascript" src="resources/script/js/appjs.js"></script> 
--><link rel="stylesheet" type="text/css" href="resources/script/style.css"> 
</head> 
<body> 

文件夾結構

-springwithtiles 
    ---webapp 
    -----resources 
    -------images 
    ----------one.jpg 
    -------script 
    ------------style.css 
    ------------myjs.js 
    -----web-inf 
    --------jsp 
相關問題