Java css文件在Spring主题模块中不起作用。属性文件已正确加载,但css不起作用

Java css文件在Spring主题模块中不起作用。属性文件已正确加载,但css不起作用,java,spring,spring-mvc,Java,Spring,Spring Mvc,我使用以下bean为主题配置了混淆文件ie.dispatcher-servlet.xml <bean id="themeSource" class="org.springframework.ui.context.support.ResourceBundleThemeSource"> <property name="basenamePrefix" value="theme-" /> </bean> <!-- Theme Change Interc

我使用以下bean为主题配置了混淆文件ie.dispatcher-servlet.xml

<bean id="themeSource" class="org.springframework.ui.context.support.ResourceBundleThemeSource">
    <property name="basenamePrefix" value="theme-" />
</bean>

<!-- Theme Change Interceptor and Resolver definition -->
<bean id="themeChangeInterceptor" class="org.springframework.web.servlet.theme.ThemeChangeInterceptor">
    <property name="paramName" value="theme" />
</bean>
<bean id="themeResolver" class="org.springframework.web.servlet.theme.CookieThemeResolver">
    <property name="defaultThemeName" value="default" />
</bean>
我将样式文件夹放在Web内容下。 问题是此ResourceBundleThemeSource已成功加载属性文件,但无法加载css文件

在JSP文件中,我添加了以下代码

<link rel="stylesheet" href="<spring:theme code='style'/>"
type="text/css" />

换衣服

<span style="float: right;"> <a href="?theme=default">
        default</a> &nbsp;| <a href="?theme=blue">blue</a> &nbsp;| <a
    href="?theme=black">black</a>
</span>
||

如果有任何问题,请帮助我。。。。。。。。请>提前感谢

我没有Spring主题支持方面的经验,但是我发现您的URL中有一个小错误

首先,你的URL是相对的。您应该始终具有绝对URL(以
/
开头)

其次,在使用任何URL时,应使用
,以便使用正确的上下文前缀:

<spring:url var="cssUrl">
    <jsp:attribute name="value"><spring:theme code="style"/></jsp:attribute>
</spring:url>

我不知道您是否已将bean
MechangInterceptor
ref放在bean
DefaultAnnotationHandlerMapping
下。如果您已经这样做了,那么请将其从那里移除,并将其放入
标签中,如下所示

<mvc:interceptors>
<ref bean="themeChangeInterceptor" />
</mvc:interceptors>

只需指定静态内容的位置(在您的
应用程序配置.xml
中)以及访问它们的路径即可:

接下来,使用以下命令编辑主题属性文件:
style=resources/style/blue.css

并将
blue.css
文件放入:
webapp/resources/themes

现在,您可以使用以下方法加载
css
文件:

  • href

  • 或者在
    spring:theme
    标记的
    code
    中使用
    style


  • 这对我很有用。

    嗨,帕维尔,谢谢你的快速回复,但我没有收到你的回复。我相信我的代码中没有使用任何url。如果你知道,请你指导我。谢谢……
    href=“”
    -这里您正在使用URL作为CSS文件。您至少应该在属性中添加前导斜杠
    /
    。通过URL标记处理它是可选的,这取决于您的用例。如果CSS文件始终是最终战争的一部分,那么您应该处理它。如果它是一个外部引用或对另一个上下文的引用,那么情况就要复杂一些。
    <mvc:interceptors>
    <ref bean="themeChangeInterceptor" />
    </mvc:interceptors>