解决IDEA下Spring boot项目修改html,js数据还要重启的问题,亲测有效

目录

测试一:

方法一:

测试代码:

test.html

testcontroller

测试效果

测试二:

方法二:

测试效果

总结:推荐使用方法二


刚转来用IDEA没多久,写项目时遇到修改html和js的数据还要重启才能更新。what?还能被这个难住?

百度了很多,基本上无非就是改2种设置,那么到底改哪些才是有用的呢?当然可以一股脑全改了,但是总不能一直不求甚解吧。

测试一:

方法一:

就是下面这种,在settings里找到如下目录,并且勾选build project automatically

step1

按下 ctrl+shift+alt+/ 打开如下界面,并勾选图中内容

step2

经过测试,设置这两个并没有用。

需要在pom.xml文件中添加依赖

<dependency>
     <groupId>org.springframework.boot</groupId>
     <artifactId>spring-boot-devtools</artifactId>
     <optional>true</optional>
</dependency>

这两部联合起来在我的机器上已经可以使用了。

测试代码:

test.html

<!DOCTYPE html>
<html lang="en" xmlns:th="http://www.w3.org/1999/xhtml">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>

<p>姓名:<span th:text="${name}">未知</span></p>
<p>年龄:<span th:text="${age}">未知</span></p>
</body>
</html>

testcontroller

package com.example.controller;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;

import java.util.Map;
@Controller
public class testcontroller {

    @RequestMapping("show")
    public String letshow(Map<String, Object> paramMap){
        paramMap.put("name", "干什么");
        paramMap.put("age", 1000);
        return "test";
    }
}

测试效果

测试效果1

下面开始修改内容,修改name的值为成功

注意:修改的时候不用停止项目运行

修改testcontroller

package com.example.controller;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;

import java.util.Map;
@Controller
public class testcontroller {

    @RequestMapping("show")
    public String letshow(Map<String, Object> paramMap){
        paramMap.put("name", "成功");
        paramMap.put("age", 1000);
        return "test";
    }
}

改完后发现控制台没有反应,还是停留在第一次启动的页面

控制台效果1

清空控制台,刷新运行页面

发现控制台有了更新

控制台效果2

这时候切换回页面,如果还是没有更新数据,那么再刷新一下

运行效果图2

发现更新成功了。

测试二:

方法二:

步骤一
步骤二

按照上图2个步骤进行更改设置

在pom.xml文件里添加依赖

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-devtools</artifactId>
    <optional>true</optional>
</dependency>

运行 

controller

package com.example.controller;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;

import java.util.Map;
@Controller
public class testcontroller {

    @RequestMapping("show")
    public String letshow(Map<String, Object> paramMap){
        paramMap.put("name", "成功");
        paramMap.put("age", 1000);
        return "test";
    }
}

测试效果

测试效果1

清空控制台并修改controller

package com.example.controller;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;

import java.util.Map;
@Controller
public class testcontroller {

    @RequestMapping("show")
    public String letshow(Map<String, Object> paramMap){
        paramMap.put("name", "hello world!");
        paramMap.put("age", 1000);
        return "test";
    }
}

刷新页面,发现控制台有更新

控制台效果
页面效果

页面也更新成功了。

 

总结:推荐使用方法二

方法一、方法二都能成功实现Spring boot项目修改html,js数据后刷新。

但是在方法一修改的过程中,有一个发现:

发现

翻译成中文就是:

即使开发的应用程序当前正在运行,也允许自动生成启动。请注意,自动启动的make最终可能会删除应用程序所需的一些类。

目前我在使用的过程中还没有发现删除了什么,但是可能存在隐患?所以我推荐方法二。

 

欢迎留言讨论!

评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值