我在Eclipse中使用Eclipse M2E插件在Maven上构建了一个Spring-Hibernate项目。虽然我的功能很好,但我需要给应用程序一些视觉吸引力,我希望使用CSS。但是,我的CSS从未反映过该应用程序。我已经尝试在stackoverflow上查看一些密切相关的问题,但无法正确使用它。
Spring not finding resource files (css, jsp...)
External CSS does not load in web page
这是我尝试过的(jsp本身的很多命中和试验):
的index.jsp
> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
> "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html
> xmlns="http://www.w3.org/1999/xhtml"> <%@page contentType="text/html"
> %>
>
> <%@taglib uri="http://www.springframework.org/tags" prefix="spring"%>
> <%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%> <%@page
> session="true"%> <html> <head> <link rel="stylesheet"
> href="${pageContext.request.contextPath}/styles.css" /> <link
> rel="stylesheet" href="styles.css" /> <link rel="stylesheet"
> href="<c:url value="style.css"/>" type="text/css" />
<!-- even tried this with some reference I got somewhere,
while this atleast gave the body the color as mentioned in CSS,
nothing else worked including the form fields-->
<style>
<%@include file="styles.css"%>
</style>
</head>
的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/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
id="WebApp_ID" version="2.5">
<display-name>Spring MVC Application</display-name>
<!-- Spring MVC -->
<servlet>
<servlet-name>mvc-dispatcher</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>mvc-dispatcher</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>default</servlet-name>
<url-pattern>*.css</url-pattern>
</servlet-mapping>
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>
/WEB-INF/spring-security.xml
</param-value>
</context-param>
<!-- Spring Security -->
<filter>
<filter-name>springSecurityFilterChain</filter-name>
<filter-class>org.springframework.web.filter.DelegatingFilterProxy</filter-class>
</filter>
<filter-mapping>
<filter-name>springSecurityFilterChain</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
</web-app>
Controller中的请求映射:
@RequestMapping("/")
public ModelAndView welcomePage(Map<String, Object> map) {
ModelAndView model = new ModelAndView();
model.setViewName("index");
// more code
return model;
}
答案 0 :(得分:0)
您需要确保您的css文件位于正确的位置。 例如,这是我使用的结构:
\webapp\resources\css\mycss.css
\webapp\resources\images
\webapp\WEB-INF\
在我的jsp中我引用了这样的css:
<link href="<c:url value="/resources/css/mycss.css"/>" rel="stylesheet">
使用spring-mvc,您还需要指定资源的位置,在spring-mvc.xml文件中添加:
<mvc:resources location="/resources/" mapping="/resources/**" />
答案 1 :(得分:0)
感谢您的回复,Fellas。
虽然
<style>
<%@include file="styles.css"%>
</style>
早些时候在JSP中为我做了一半的工作,我遇到的问题是找不到CSS中引用的.jpg文件的映射。
添加
<servlet-mapping>
<servlet-name>default</servlet-name>
<url-pattern>*.jpg</url-pattern>
</servlet-mapping>
为我解决了剩下的问题。虽然我还没有在页面上获得BG图像,但其余的风格,即颜色和字体都能正常工作。进一步观察以提高视觉吸引力。