我几天前开始了一个新的新项目,第一次将FreeMarker与Spring Boot 1.3一起使用。但是,我正在努力展示自己的收藏夹图标。实际上,它在项目的一开始就运行良好,但是自几天前以来,它并没有,我也找不到原因。我已经讨论过关于stackoverflow的三个线程,但是都没有解决我的问题。我在Google上搜索,但找不到任何解决方案。
为了解决这个问题,我开始了一个新项目(这次是Spring 1.2.5),但遇到了同样的问题。使用Spring Tool Suite:新建►Spring Starter项目►然后勾选Web和FreeMarker►完成。
项目准备就绪后,我在demo.web包中创建了HomeController,其中一个测试函数返回“ home”。我还在src / main / resources / templates中创建了一个home.ftl,并将两个文件放在src / main / resources / static中:demo.png和favicon.ico(我也尝试将其放在src / main / resources下)。
demo.png正确显示,但favicon.ico没有显示。也许我做错了,因为我是Web开发的新手。
HomeController.java
package demo.web;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
@Controller
public class HomeController {
@RequestMapping(value = "/", method = RequestMethod.GET)
public String get() {
return "home";
}
}
home.ftl
<!DOCTYPE html>
<html>
<head>
<title>Demo</title>
<link rel="icon" type="image/x-icon" href="/favicon.ico">
</head>
<body>
<img src="/demo.png" alt="">
</body>
</html>
pom.xml
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>org.test</groupId>
<artifactId>demo</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>jar</packaging>
<name>demo</name>
<description>Demo project for Spring Boot</description>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>1.2.5.RELEASE</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<java.version>1.8</java.version>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-freemarker</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
</project>
如果您需要更多信息,请询问我。我预先感谢大家的帮助。
最好的问候,Stilleur
实际上,看起来Spring Boot会覆盖他在资源位置中可以找到的每个favicon.ico。
由于@ M.Deinum尚未将其评论重新发布为答案,所以我会做。
对于Spring Boot 1.3.0.RELEASE,只需将以下行添加到您的application.properties
: spring.mvc.favicon.enabled=false
根据@Stilleur的说法,至少从Spring Boot 1.3.0.M1开始有效。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句