1

Mavenプロジェクトがあり、プロジェクトでcssを使用したいのですが、index.jspページのみが表示され、画像やcssは表示されません。それは何に依存することができますか?

cssと画像をリソースの下に置きます。これが私のservlet-context.xmlです。

<?xml version="1.0" encoding="UTF-8"?>
<beans:beans xmlns="http://www.springframework.org/schema/mvc"
             xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
             xmlns:beans="http://www.springframework.org/schema/beans"
             xmlns:context="http://www.springframework.org/schema/context"
             xmlns:mvc="http://www.springframework.org/schema/mvc"
             xsi:schemaLocation="
        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
        http://www.springframework.org/schema/beans 
        http://www.springframework.org/schema/beans/spring-beans-3.0.xsd">

    <mvc:annotation-driven />

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

    <mvc:default-servlet-handler />

    <beans:bean
            class="org.springframework.web.servlet.view.InternalResourceViewResolver">
        <beans:property name="prefix" value="/WEB-INF/views/" />
        <beans:property name="suffix" value=".jsp" />
    </beans:bean>

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

</beans:beans>

助けてください?

4

2 に答える 2

6

これは私にはMavenの問題のようには聞こえません。Springのサンプルリソースマッピングを標準のMavenリソースフォルダーと混同している可能性があります。この場合、画像はsrc / main / webappフォルダーに相対的である必要があります(つまり、src / main/resourcesではなくsrc/main / webapp / resources)。Maven自体は、src / main / webapp/resourcesフォルダーに対して特別なことは何もしません。

アップデート

明確にするために、webappの下のフォルダ「resources」には任意の名前を付けることができます。混乱を減らすために、私は私の名前を「webstuff」に変更しました。例として、私は

src/main/webapp/webstuff
src/main/webapp/webstuff/css/base.css
src/main/webapp/webstuff/images/globe.png

今、私のSpring構成で、次のように変更しました。

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

最後の部分は、jspでcssと画像を参照する方法です。

<html>
    <link rel="stylesheet" href="webstuff/css/default.css" type="text/css">
    <body>
    <h1>Hello World!</h1>
    <img src="webstuff/images/globe.png">
    </body>
</html>
于 2012-06-22T21:33:53.287 に答える
0

プロジェクトをEclipseで動的Webアプリケーションとして作成しましたか、それともMavenアーキタイプを使用してから、プロジェクトをEclipseにインポートしましたか?なぜなら、私は数日前に同じ問題に直面していたからです。これは、使用しているフォルダー構造がWebアプリに正しくマップされていないためです。私が提案するのは、ターゲットフォルダーから戦争を抽出し、ファイル(jsp、htlm、java)がサーブレットコンテキストで言及した正しい場所にあるかどうかを確認することです。それが戦争で正しければ、それはうまくいくはずです。一部のファイルが置き忘れられた場合、問題が発生します。

mavenのwarプラグインを使用して、ファイルが.warで実行するパスを構成できます。詳細については、これをチェックしてください。

このチュートリアルに従って、誰がWebプロジェクトを作成するか(Springにも適用)を確認し、試してみてください。

于 2012-06-23T01:50:56.020 に答える