Spring serving static content with mvc:resources,

2020-02-14 05:06发布

问题:

As recommended by http://static.springsource.org/spring/docs/3.0.x/spring-framework-reference/html/mvc.html#mvc-static-resources I wish to use <mvc:resources> for serving my spring static content.

I have tried the following XML, but the .xsd file doesn't contain a declaration for <mvc:resources> and I cannot find an alternative .xsd. I can ignore the eclipse error, but the server won't start because of a SAXParseException.

Where have I gone wrong?

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
    xmlns:mvc="http://www.springframework.org/schema/mvc"
    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">

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

</beans>

回答1:

Attributes in <mvc:resources> were added in Spring 3.0.4.

EDIT That is: you just add Spring 3.0.4 to your dependencies and everything works fine (except error marks in Eclipse plugin). At runtime config files are parsed by Spring itself, therefore Spring's built-in XSD file is used.



回答2:

Not better than axtavt's response, but a little clue on how to suppress Eclipse error. Go into the Project properties and then Spring→Beans Support→Load NamespaceHandlers and XSDs from project's classpath [experimental]: