java jsp视图中的秒表

7xllpg7q  于 2022-12-07  发布在  Java
关注(0)|答案(1)|浏览(123)

我正在进行WebApplication项目来解决rubick cube的speedcubers。我需要在jsp视图中显示实时秒表。第一个想法是在JS中实现秒表,然后将值发送到控制器,我在获取js参数时遇到了问题(秒表完成时间),到java控制器。我的问题是,有没有可能在java中实现秒表,在jsp按钮上工作,或者知道如何从jsp保存控制器中值。
//编辑
制作隐藏窗体,并设置窗体的完成时间值。
点击提交按钮后,它将值发送到数据库,但是是空的。不知道为什么。
我的代码,javascript秒表:

<script>
let [milliseconds,second,minute,] = [0,0,0];
let timerRef = document.querySelector('.mainTime');
let int = null;

document.getElementById('start').addEventListener('click', function(event){
    if(int!==null){
        clearInterval(int);
    }
    int = setInterval(mainTime, 10);
});

document.getElementById('stop').addEventListener('click', function (event){
    clearInterval(int);
    let stringDoZapisuWBazie = document.querySelector('div.mainTime').innerHTML;
    console.log(stringDoZapisuWBazie);
    document.getElementById('timeValue').value=stringDoZapisuWBazie;

});

document.getElementById('reset').addEventListener('click', function (event){
    clearInterval(int);
    [milliseconds,seconds,minutes,hours] = [0,0,0];
    timerRef.innerHTML = '00 : 00 : 00';
});

function mainTime(){
    milliseconds+=10;
    if(milliseconds == 1000){
        milliseconds = 0;
        second++;
        if(second == 60){
            second = 0;
            minute++;
            if(minute == 60){
                minute = 0;
            }
        }
    }

    let m = minute < 10 ? "0" + minute : minute;
    let s = second < 10 ? "0" + second : second;
    let ms = milliseconds < 10 ? "00" + milliseconds : milliseconds < 100 ? "0" + milliseconds : milliseconds;
    timerRef.innerHTML = m + ' : ' + s + ' : ' + ms;
}

html格式:'

我爱你#

的复数

控制器

public String addTime(Model model){
        model.addAttribute("timeValue", new Time());
        return "addTime";
    }
    @PostMapping("/add")
    public String saveTime(Time time){
        timeService.saveTime(time);
        return "redirect:/solve/main";
    }```
6kkfgxo0

6kkfgxo01#

我想最简单的想法是从JS发送秒表值,然后通过表单发送到控制器,下面是我的想法:
1.用js和html创建秒表逻辑。
1.创建一个带有隐藏类型输入的表单,当用户单击按钮停止时,使用js、提交事件之前的onClick事件等,用数据完成这些输入。
1.最后通过post请求将表单值发送到控制器。
因为输入是隐藏的,所以只有按钮是表单的可见组件,但是您仍然要将值发送到控制器。

相关问题