大数据会爱我吗 2024-05-10 09:01 采纳率: 33.3%
浏览 24

Thymeleaf报错cannot resove MVC view“basic“怎么解决?(SpringBoot版)

参考文章:https://blog.csdn.net/YuanFudao/article/details/129085281

按照参考文章操作,遇到报错:cannot resove MVC view"basic"怎么解决?

还有几个相关的小问题,做到现在人已经乱了。

文件结构:

img

问题1:为什么原Java文件Work4Application有运行符号,自己新建的文件UserControler和UserVo没有?

img

img

img

运行Work4Application结果:

img

img

问题2:报错cannot resove MVC view"basic"怎么解决?

img

img

问题3:以下两个文件代码是否有误?

application.properties:

img

pom.xml:

img

img

另,以下两个文件应该是没有问题的:
UserVo.java:

img

basic.html:

img

但是最终运行结果是静态页面,并没有获取到动态值。
运行basic.html结果:

img

问题4:“/basicInfo”应该加在http://localhost:8080/的后面还是http://localhost:63342/的后面?或者是http://localhost:63342/qiyework/src/main/work4/src/main/resources/templates/basic.html?_ijt=v47kdlq7cqjej9oovkudi3143h的后面?

img

img

img

以及我该怎么让运行出来的http://localhost:63342/qiyework/src/main/work4/src/main/resources/templates/basic.html?_ijt=v47kdlq7cqjej9oovkudi3143h变短?

  • 写回答

2条回答 默认 最新

  • 笑面虎 2024-05-10 09:05
    关注

    以下内容由CHATGPT及笑面虎共同生成、有用望采纳:


    您好!根据您提供的信息,您遇到的问题主要集中在Spring Boot项目中Thymeleaf模板引擎的使用上。以下是您问题的概括和解决方案:

    您想要解决的问题:

    1. 解决Thymeleaf报错 cannot resolve MVC view "basic"
    2. 理解为什么新建的UserControllerUserVo类没有运行符号。
    3. 确认application.propertiespom.xml文件是否有误。
    4. 确定如何正确访问/basicInfo路由以及如何使URL更简洁。

    图片内容:

    1. 文件结构和代码片段,显示了Spring Boot项目的布局。
    2. 控制台输出,显示了Spring Boot应用的启动日志。
    3. 错误页面截图,显示了404 Not Found错误。
    4. application.propertiespom.xml文件内容,显示了项目的配置和依赖。

    问题出现原因:

    1. Thymeleaf视图解析错误:可能是因为Thymeleaf模板的位置不正确,或者在Spring Boot配置中没有正确指向模板目录。
    2. 运行符号缺失:这通常是IDE的配置问题,或者是因为没有在类中添加主方法或者类没有被设置为启动类。
    3. 配置文件错误:可能是属性文件中的语法错误或者依赖配置不正确。
    4. URL访问问题:可能是因为Spring Boot应用的上下文路径设置不正确或者IDE的调试端口与实际运行端口不一致。

    问题解决方案:

    1. Thymeleaf视图解析:确保basic.html位于src/main/resources/templates目录下,这是Spring Boot默认的Thymeleaf模板目录。同时,检查UserController中返回的视图名称是否与文件名匹配。

    2. 运行符号问题:在IDE中,运行符号表示该类包含可运行的主方法。如果您新建的类没有主方法,它们自然不会有运行符号。您可以在UserControllerUserVo中添加一个主方法来测试它们。

    3. 检查application.properties:确保所有的属性键值对都是正确的,并且没有拼写错误。

    4. 检查pom.xml:确保所有依赖都已经正确添加,并且版本号是正确的。

    5. 访问路由/basicInfo应该加在Spring Boot应用的上下文路径后面,例如http://localhost:8080/basicInfo

    6. 简化URL:确保您的application.properties中设置了正确的server.servlet.context-path,这样您可以省略路径中的项目名称部分。

    提供代码:

    由于您提供的信息中没有具体的代码错误,我将提供一个基本的Thymeleaf页面渲染的示例:

    @Controller
    public class UserController {
    
        @GetMapping("/basicInfo")
        public String showUserPage(Model model) {
            UserVo userVo = new UserVo();
            // 设置UserVo的属性
            model.addAttribute("user", userVo);
            return "basic"; // 确保这个值与HTML文件名匹配,不包括扩展名
        }
    }
    

    确保basic.html位于src/main/resources/templates目录下。

    代码运行方式:

    1. 使用IDE运行Work4Applicationmain方法。
    2. 或者,使用Maven运行mvn spring-boot:run命令。

    代码预期运行结果:

    当您访问http://localhost:8080/basicInfo时,应该能看到渲染后的basic.html页面,并且能够显示您在UserController中添加的动态数据。

    推荐相关链接:

    希望这些信息能帮助您解决问题。如果您需要进一步的帮助,请提供更多的代码细节或者错误信息。

    评论 编辑记录

报告相同问题?

问题事件

  • 创建了问题 5月10日