springboot freemarker不渲染页面返回字符串

在集成spring boot与freemarker时,Controller不返回渲染的模板页面,而是返回模板字符串,具体如下

pom.xml

<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-freemarker</artifactId>
            <version>RELEASE</version>
</dependency>

模板文件
模板文件位于:src\main\resources\templates\welcome.ftl

<!DOCTYPE html>
<html lang="en">
    <body>
        Date: ${time?date}<br>
        Message: ${message}
    </body>
</html>

Controller.java


```java
package com.xleiy.blog.controller;

import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;

import java.util.Date;
import java.util.Map;

/**
 * @author: xlei
 * @Copyright (c) 2018 spring_boot_blog
 * @项目名称: spring_boot_blog
 * @类名称: WelcomeController
 * @创建时间: 2018/1/3 16:33
 * @类描述:
 */
@RestController
public class WelcomeController {
    @GetMapping("/welcome")
    public String welcome(Map<String, Object> model) {
        model.put("time", new Date());
        model.put("message", "张三");
        return "welcome";
    }
}

运行效果

在这里插入图片描述

问题所在

把@RestController替换为@Controller注解
@RestController注解表示返回的内容都是HTTP Content不会被模版引擎处理的

下面是RestController的定义

package org.springframework.web.bind.annotation;

import java.lang.annotation.Documented;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

import org.springframework.stereotype.Controller;

@Target(ElementType.TYPE)
@Retention(RetentionPolicy.RUNTIME)
@Documented
@Controller
@ResponseBody
public @interface RestController {

	/**
	 * The value may indicate a suggestion for a logical component name,
	 * to be turned into a Spring bean in case of an autodetected component.
	 * @return the suggested component name, if any (or empty String otherwise)
	 * @since 4.0.1
	 */
	String value() default "";
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值