springboot+thymeleaf找不到视图的解决方案

springboot+thymeleaf找不到视图

情况:

springboot + thymeleaf打成jar包后,报错,但在eclipse本地跑却可以:

template might not exist or might not be accessible by any of the configured Template Resolvers

yml配置:

spring:
  thymeleaf:
    cache: false #开发时关闭缓存,不然没法看到实时页面
    mode: HTML5 # 用非严格的 HTML
    #enabled: true
    encoding: UTF-8
    prefix: classpath:/templates/
    suffix: .html
    servlet:
      content-type: text/html

controller返回视图:

@RequestMapping("demo")
public String demo(Model model) {
    //return "/demo";//这种是有问题的
 return "demo";
}

解释:

这里其实是由于我们的yml配置中,已经配置了/templates/,因此如果返回/demo的话,那就会找不到,因为映射视图变成了://demo,所以,这里最好去掉其中一个“/”;

不然打成jar包后,会找不到,这个要作为项目的规范,不然后面发布正式时,太多也不好修改;如果有更好的办法也请告诉我一声,谢谢。

springboot 使用thymeleaf模板遇到的一些问题

使用springboot+thymeleaf遇到一些问题,主要归为如下几点:

1.在/templates目录下创建自定义目录/my,并在该目录下创建index.html,程序中如何访问index.html

2.如果不使用/templates目录作为默认路径,该如何配置

问题1

解决方式:

在controller层方法中通过设置ModelAndView名称的为:my/index,然后返回该ModelAndView,然后该接口方法时就会跳转到index.html

示例代码如下:

@RequestMapping(value="getIndex")
public ModelAndView getIndex(ModelAndView model)throws Exception
{
 //访问自定义目录下/templates/my/index.html,要注意路径格式
 model.setViewName("my/index");
 return model;
}

问题2

解决方式:

在application.properties配置文件中通过spring.thymeleaf.prefix属性进行设置,例如设置默认路径为/templates/my

示例代码如下:

spring.thymeleaf.prefix=classpath:/templates/my

springboot+thymeleaf使用的代码如下:

https://github.com/ingorewho/springboot-develope/tree/master/springboot-thymeleaf

以上为个人经验,希望能给大家一个参考,也希望大家多多支持我们。

(0)

相关推荐

  • SpringBoot使用Thymeleaf自定义标签的实例代码

    此篇文章内容仅限于 描述springboot与 thy 自定义标签的说明,所以你在看之前,请先会使用springboot和thymeleaf!! 之前写过一篇是springMVC与thymeleaf 的自定义标签(属于自定义方言的属性一块,类似thy的th:if和th:text等)文章,如果你想了解,以下是地址: 点击>>Thymeleaf3.0自定义标签属性 这篇例子可以实现你的分页标签实现等功能,不会讲一堆的废话和底层的原理(自行百度),属于快速上手教程,请认真看以下内容! PS: 请允许

  • SpringBoot 利用thymeleaf自定义错误页面

    导入thymeleaf <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-thymeleaf</artifactId> </dependency> 自定义异常类 建立监听异常类 MyException.class package com.example.demo.domain; public class My

  • SpringBoot实现Thymeleaf验证码生成

    使用后台返回验证码图片,验证码存到session中后端实现校验,前端只展示验证码图片. 本篇用SpringBoot Thymeleaf实现验证码生成. 创建springboot项目 引入依赖 完整pom.xml <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http

  • Springboot+Thymeleaf+Jpa实现登录功能(附源码)

    前言 最近有学习到关于Springboot+Thymeleaf+Jpa的综合运用知识,因此想写一个简单的登录界面来尝试一下,以下将展示具体流程 具体实现 首先要创建一个springboot项目 添加以下依赖项 pom.xml代码 <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi=&

  • springboot+thymeleaf 文件上传功能的实现代码

    pom.xml <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-thymeleaf</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifa

  • springBoot加入thymeleaf模板的方式

    1.新建springBoot项目 在前面有两种方式 2.加入thymeleaf模板引擎 SpringBoot推荐使用thymeleaf模板引擎 语法简单,功能更强大 要想引入thymeleaf,只需要在pom,xml文件中加入如下依赖就可以了 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-thymeleaf</artifa

  • SpringBoot Security安装配置及Thymeleaf整合

    功能:解决web站点的登录,权限验证,授权等功能 优点:在不影响站点业务代码,可以权限的授权与验证横切到业务中 1.要添加的依赖 <!--thymeleaf--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-thymeleaf</artifactId> </dependency> <!

  • SpringBoot使用Thymeleaf模板引擎访问静态html的过程

    最近要做一个java web项目,因为页面不是很多,所以就没有前后端分离,前后端写在一起,这时候就用到thymeleaf了,以下是不动脑式的傻瓜教程..... 一:创建spring boot的web项目,过程略: 二:依赖如下: <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> <

  • springboot+thymeleaf找不到视图的解决方案

    springboot+thymeleaf找不到视图 情况: springboot + thymeleaf打成jar包后,报错,但在eclipse本地跑却可以: template might not exist or might not be accessible by any of the configured Template Resolvers yml配置: spring: thymeleaf: cache: false #开发时关闭缓存,不然没法看到实时页面 mode: HTML5 # 用

  • 浅析SpringBoot中使用thymeleaf找不到.HTML文件的原因

    thymeleaf是目前最新的模板引擎,它和springboot完美搭配,让前后端不在疏远 首先先介绍一下市面上出现过的模板引擎 1, Verlocity 距今有10多年之久,是由Apache推出的 Struts2 底层使用2,Freemarker,距今有10多年之久, 第三方小公司推出,后来得到了Apache的认可,在Struts2这个框架中, 底层使用Freemarker. SpringBoot 默认使用Freemarker是以.ftl结尾的文件. 3,Thymeleaf是以.html结尾的

  • springboot+thymeleaf打包成jar后找不到静态资源的坑及解决

    目录 问题描述 解决思路及最终解决步骤 springboot+thymeleaf打jar包后500 问题描述 使用的springboot开发项目,在开发阶段没有任何问题,然而在打成jar包准备进行测试发布时,出现 org.thymeleaf.exceptions.TemplateInputException:Error resolving template [login], template might not exist or might not be accessible by any of

  • Springboot @Value获取值为空问题解决方案

    这篇文章主要介绍了Springboot @Value获取值为空问题解决方案,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 在spring中,常常使用 @Value("${property}") 从application.properties中取值,需要注意两点 使用 @Value 的类不能使用 new 关键字进行实例化对象,必须采用 依赖注入的方式进行实例化 不能使用显式的构造方法 否则,将取不到值.解决方法如下: 删除显式的构造方法

  • springboot+thymeleaf+druid+mybatis 多模块实现用户登录功能

    项目代码:https://github.com/bruceq/supermarket 项目结构: 依赖关系: common:公共层,无依赖 dao:数据层,依赖common service:服务层,依赖dao.common web:应用层,依赖dao.common.service 注:启动类在web层中 父依赖pom <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http:/

  • Springboot与Maven多环境配置的解决方案

    Profile用法 我们在application.yml中为jdbc.username赋予一个值,这个值为一个变量 jdbc: username: ${jdbc.username} Maven中的profiles可以设置多个环境,当我们选择a环境后,<jdbc.username>内的值将替换上述配置文件中的变量 </profiles> <profile> <id>a</id> <properties> <jdbc.usernam

  • Springboot配置suffix指定mvc视图的后缀方法

    Springboot配置suffix指定mvc视图后缀 如下所示: spring: #配置MVC视图后缀 mvc: view: suffix: ".html" 配置指定后缀之后 访问welcome.html页面时只需要写"welcome"即可. @Controller public class demoController { @GetMapping("/a") public String demo(){ return "welcome

  • springboot+thymeleaf+mybatis实现甘特图的详细过程

    首先我们要明白:这个甘特图需要哪些动态数据. (1)需要:ID,tName,number,计划开始时间,开始时间,计划结束时间,结束时间,项目负责人,参与人,知情人ID,计划时长(可以计算得出的,不必在数据库中):前置任务:项目进度,该任务属于哪个任务 (2)然后利用easycode插件生成实体类,映射类,服务类,ontCroller等 (3)利用bootstrap框架做出甘特图的样式,写好JS. <!DOCTYPE html> <html xmlns:th="http://w

随机推荐