2012-08-13 101 views
1

我想問爲什麼我的外部css/js沒有加載到我的jsp中。 我的struts.xml內容:無法在Struts2中加載外部文件(image,css,js)

<?xml version="1.0" encoding="UTF-8" ?> 
<!DOCTYPE struts PUBLIC 
"-//Apache Software Foundation//DTD Struts Configuration 2.3//EN" 
    "http://struts.apache.org/dtds/struts-2.3.dtd"> 
<struts> 
<constant name="struts.enable.DynamicMethodInvocation" value="false" /> 
<constant name="struts.devMode" value="true" /> 
<constant name="struts.action.extension" value=""/> 

<package name="default" namespace="/" extends="struts-default"> 

    <default-action-ref name="home" /> 

    <action name="home"> 
     <result name="success">index.jsp</result> 
    </action> 

</package> 

</struts> 

我的web.xml文件內容:

<?xml version="1.0" encoding="UTF-8"?> 
<web-app xmlns="http://java.sun.com/xml/ns/javaee" 
     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
     xsi:schemaLocation="http://java.sun.com/xml/ns/javaee 
     http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" 
     version="2.5"> 

<display-name>Test</display-name> 
<context-param> 
    <param-name>contextConfigLocation</param-name> 
    <param-value>classpath:applicationContext.xml</param-value> 
</context-param> 

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

<filter> 
    <filter-name>struts2</filter-name> 
    <filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class> 
</filter> 
<filter-mapping> 
    <filter-name>struts2</filter-name> 
    <url-pattern>/*</url-pattern> 
</filter-mapping> 

<welcome-file-list> 
    <welcome-file>index.jsp</welcome-file> 
</welcome-file-list> 

<error-page> 
    <error-code>404</error-code> 
    <location>error404.jsp</location> 
</error-page> 

</web-app> 

我使用此代碼加載我的CSS在我的jsp

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

我也嘗試使用此代碼

<link rel="stylesheet" type="text/css" href="<s:url value="/style/css/style.css"/>"/> 

甚至,它的出現錯誤時,我想在我的JSP顯示圖像

<img src="<s:url value="/style/images/icon/car.png"/>" /> 

有什麼不對的,這個代碼(web.xml)中

<filter-mapping> 
    <filter-name>struts2</filter-name> 
    <url-pattern>/*</url-pattern> 
</filter-mapping> 

的原因是否謝謝您的答覆。

+0

它是什麼錯誤? – 2012-08-13 05:11:04

+0

如果你使用絕對路徑..?像你的web應用程序/風格/的CSS/style.css「 – 2012-08-13 06:07:16

+0

@BheshGurung,錯誤,CSS沒有加載,當我打開查看頁面源,然後我點擊CSS鏈接,它返回一個空白頁 – 2012-08-14 08:59:51

回答

0

肯定這是一個路徑問題。您可以在網絡中使用Firebug來查看瀏覽器嘗試加載的確切URL。之後,您將可以更正css網址。當然,你不能使用一個標籤。

+0

「NetworkError:404 Not Found -http:// localhost:8080/vhmon/style/css/style.css」 但是當我更改struts url模式從/ *到/ main(例如),css被加載 – 2012-08-14 09:27:19

2

竟然只是因爲這段代碼在我的struts.xml

<constant name="struts.action.extension" value=""/> 

當我刪除它,一切工作正常。對不起ñ感謝ü

0

您的過濾器阻止這些圖像,CSS

0

您的外部文件夾是不是在Web服務器的根;所以它不認識它,那麼你必須添加它