zoukankan      html  css  js  c++  java
  • Quartz Cron表达式 生成

    当前项目需要让客户自己输入cron表达式,所以提供个页面生成cron表达式

    网上看了下,找到了 https://www.cnblogs.com/yanweidie/p/3537144.html,非常感谢作者

    大致就是按照以下的顺序进行整合

    1.img // 这个不用讲

    2.html // 更改下css、js的引入路径

    3.css // easyui.min.css需要替换图片路径,就是你上面img放入的路径

    background: ${ctxPath}/static/img/cron/panel_tools.png no-repeat -16px 0px;

    4.js //修改一些东西

        cron.change(function () {
            btnFan();
            //设置最近五次运行时间
            $.ajax({
                type: 'get',
                url: "/cron/expression",//这里需要替换成后台url
                dataType: "json",
                data: { "CronExpression": $("#cron").val() },
                success: function (val) {
                    if(val.code === 0){
                        var data = JSON.parse(val.data);
                        if (data && data.length == 5) {
                            var strHTML = "<ul>";
                            for (var i = 0; i < data.length; i++) {
                                strHTML += "<li>" + data[i] + "</li>";
                            }
                            strHTML +="</ul>"
                            $("#runTime").html(strHTML);
                        } else {
                            $("#runTime").html("");
                        }
                    }
                }
            });
        });    

    5.Controller // 作者是使用jsp来处理,所以这里将它修改成Controller

      a.提供一个路径跳转

      b.提供一个计算最近5次计算时间

    import com.stylefeng.guns.core.base.tips.SuccessTip;
    import com.stylefeng.guns.core.util.DateUtil;
    import org.quartz.impl.triggers.CronTriggerImpl;
    import org.springframework.stereotype.Controller;
    import org.springframework.web.bind.annotation.RequestMapping;
    import org.springframework.web.bind.annotation.ResponseBody;
    
    import java.text.ParseException;
    import java.util.Date;
    
    /**
     * @Auther: eros
     * @Date: 2019/2/21 18:33
     * @Description:
     */
    @Controller
    @RequestMapping("/cron")
    public class CronController {
    
        private static final String PREFIX = "/cron/";
    
        @RequestMapping
        public String cron(){
            return PREFIX + "cron.html";
        }
    
        /**
         * @auther: eros
         * @param CronExpression cron表达式
         * @date: 2019/2/22 10:55
         * @description 返回最近5次的结果时间
         * @return: java.lang.Object
         */
        @RequestMapping("/expression")
        @ResponseBody
        public Object expression(String CronExpression){
            StringBuffer sbResult = new StringBuffer();
            sbResult.append("[");
            try {
                CronTriggerImpl trigger = new CronTriggerImpl();
                trigger.setCronExpression(CronExpression);
                Date start = trigger.getStartTime();
                for(int i=0;i<5;i++){
                    Date next = trigger.getFireTimeAfter(start);
                    sbResult.append(", "").append(DateUtil.formatDate(next,"yyyy-MM-dd HH:mm:ss")).append(""");
                    start = next;
                }
                sbResult.append("]");
            } catch (ParseException e) {
                e.printStackTrace();
            }
            return new SuccessTip(sbResult.replace(sbResult.indexOf(","),sbResult.indexOf(",")+1,""));
        }
    
    }
  • 相关阅读:
    有线电视网
    上帝造题的七分钟2 / 花神游历各国
    珂朵莉树(学习笔记)
    [SHOI2015]脑洞治疗仪
    语文1(chin1)- 理理思维
    [SCOI2010]序列操作
    CF915E Physical Education Lessons
    CF896C Willem, Chtholly and Seniorious
    Anaconda 创建环境
    非递归遍历N-ary树Java实现
  • 原文地址:https://www.cnblogs.com/kongkongFabian/p/10417138.html
Copyright © 2011-2022 走看看