<html>
<head>
<title>批处理任务管理</title>
<meta name="decorator" content="default"/>
<link th:href="@{/static/bootstrap/2.3.1/css_cerulean/bootstrap.min.css}" type="text/css" rel="stylesheet"/> <link th:href="@{/static/common/jeesite.css}" type="text/css" rel="stylesheet"/> <script th:src="@{/static/jquery/jquery-1.9.1.js}"></script> <script type="text/javascript">
$(document).ready(function() {
// 页面验证
$("#searchForm").validate({
submitHandler: function(form){
loading('加载中,请稍等...');
form.submit();
},
errorContainer: "#messageBox",
errorPlacement: function(error, element) {
$("#messageBox").text("输入有误,请先更正。");
if (element.is(":checkbox") || element.is(":radio") || element.parent().is(".input-append")) {
error.appendTo(element.parent().parent());
} else {
error.insertAfter(element);
}
}
}); // [清除]按钮点击事件
$("#btnClear").click(function(){
// 清除text
$("form :text").val('');
// 清除checkbox
$("form :checkbox").prop("checked", false);
// 清除radio
$("form :radio").prop("checked", false);
// 清除select
$("form select").val("");
$("form select").trigger("change");
}); // [添加]按钮点击事件
$("#btnAdd").click(function() {
var url = "";
url = "${ctx}/job/edit"; $("#searchForm").prop("action", url);
$("#searchForm").submit();
}); }); // [修改]按钮点击事件
function edit(p_cd) {
var url = "";
url = "${ctx}/job/edit";
url = url + "?";
url = url + "schedid=" + p_cd;
$("#searchForm").prop("action", url);
$("#searchForm").submit();
} // [删除]按钮点击事件
function del(p_cd,p_name) {
var url = "";
url = "${ctx}/job/del";
url = url + "?";
url = url + "schedid=" + p_cd;
url = url + "&";
url = url + "jobName=" + p_name; window.location.href = url;
} // [启用/停用]按钮事件
function changeStatus(p_cd,p_name,p_status) {
var url = "";
url = "${ctx}/job/changeStatus";
url = url + "?";
url = url + "schedid=" + p_cd;
url = url + "&";
url = url + "jobName=" + p_name;
url = url + "&";
url = url + "status=" + p_status;
window.location.href = url;
} // [立即启动]按钮事件
function executeJob(p_cd,p_name) {
var url = "";
url = "${ctx}/job/executeJob";
url = url + "?";
url = url + "schedid=" + p_cd;
url = url + "&";
url = url + "jobName=" + p_name; window.location.href = url;
} // 弹出子画面[模板履历]
function showHis(p_cd, p_name) {
var title = "";
var url = "";
var width;
var height; var url = "";
url = "iframe:${ctx}/job/showHis";
url = url + "?";
url = url + "schedid=" + p_cd;
url = url + "&";
url = url + "jobName=" + p_name;
title = "任务历史记录";
width = $(top.document).width()-220;
height = $(top.document).height()-180; top.$.jBox.open(url, title, width, height, {
buttons:{"关闭":0},
submit: function (v, h, f) {
if (v == 0) {
page();
return true; // close the window
}
}
});
} // 分页处理
function page(n, s) {
if(n) $("#pageNo").val(n);
if(s) $("#pageSize").val(s);
$("#searchForm").prop("action", "${ctx}/job/initalljob");
$("#searchForm").submit();
return false;
}
</script>
</head> <body> <ul class="nav nav-tabs">
<li class="active"><a>任务列表</a></li>
<li><a href="${ctx}/job/edit">任务添加</a></li>
</ul>
<div class="box1 mb10">
<form id="searchForm" modelAttribute="qrtzJob" action="${ctx}/job/initalljob" method="post" enctype="multipart/form-data" class="breadcrumb form-search ">
<sys:message content="${message}"/>
<input id="pageNo" name="pageNo" type="hidden" value="${page.pageNo}"/>
<input id="pageSize" name="pageSize" type="hidden" value="${page.pageSize}"/>
<sys:tableSort id="orderBy" name="orderBy" value="${page.orderBy}" callback="page();"/>
<table class="table1" width="100%" cellspacing="0" border="0">
<tr>
<td>
<label class="lab">任务名称:</label>
<input path="jobName" htmlEscape="false" class="cf_input_text178"/>
</td>
<td>
<label class="lab">任务类名:</label>
<input path="jobClassName" htmlEscape="false" class="cf_input_text178"/>
</td>
<td>
<label class="lab">任务方法名:</label>
<input path="jobMethodName" htmlEscape="false" class="cf_input_text178"/>
</td>
</tr>
<tr>
<td>
<label class="lab">任务时间表达式:</label>
<input path="cronExpression" htmlEscape="false" maxlength="50" class="cf_input_text178"/>
</td>
<td>
<label class="lab">任务状态:</label>
<select path="status" items="${fns:getDictMap('com_use_flag', true)}" class="select78"/>
</td>
</tr>
</table>
<div class="tright pr30 pt10">
<input id="btnSearch" class="btn cf_btn-primary" type="submit" value="搜索"/>
<input id="btnClear" class="btn cf_btn-primary" type="button" value="清除"/>
</div>
</form>
</div>
<table id="contentTable" class="table table-striped table-bordered table-condensed">
<thead>
<tr>
<th>任务名称</th>
<th>任务类名</th>
<th>任务时间表达式</th>
<th>描述</th>
<th>使用状态</th>
<th>操作</th>
</tr>
</thead>
<tbody id="tblBody"> <tr th:each="rec:${page.list}">
<td th:text="${rec.jobName}"></td>
<td th:text="${rec.jobClassName}"></td>
<td th:text="${rec.cronExpression}"></td>
<td th:text="${rec.description}"></td>
<td th:text="${rec.status eq '0'} ? '停用':'启用'"></td>
<td>
<a href="javascript:void(0)" th:onclick="edit('${rec.schedid}')" >修改</a>
<a href="javascript:void(0)" th:onclick="del('${rec.schedid}','${rec.jobName}')">删除</a>
<a href="javascript:void(0)" th:onclick="executeJob('${rec.schedid}','${rec.jobName}')">立即执行</a> <a th:if=" ${rec.status} eq '1'" href="javascript:void(0)" th:onclick="changeStatus([[${rec.schedid}]],[[${rec.jobName}]],[[0]])">停用</a>
<a th:if=" ${rec.status} eq '0'" href="javascript:void(0)" th:onclick="changeStatus([[${rec.schedid}]],[[${rec.jobName}]],[[1]])">启用</a> <a href="javascript:void(0)"
th:onclick="javascript:alert([[${rec.schedid}]])"
>查看历史</a>
</td>
</tr> </tbody>
</table>
<div class="pagination" th:utext="${page}"></div>
</body>
</html>

  boot2.14 上面页面顺利通过;

还是用回jsp吧

springboot 新模板 呵呵了的更多相关文章

  1. SpringBoot thymeleaf模板页面没提示,SpringBoot thymeleaf模板插件安装

    SpringBoot thymeleaf模板插件安装 SpringBoot thymeleaf模板Html页面没提示 SpringBoot  thymeleaf模板页面没提示 SpringBoot t ...

  2. TPshop手机新模板的用户消息实现

    今天在开发TPshop的手机新模板的消息页面,姑且记录一下. 首先,点击下方右上角,进入消息页面: 数据库中目前模拟了三条数据,有: 点击上图右上角,有: 这个 消息设置 功能是新增的,而且类型由原本 ...

  3. 个人博客制作如何选择前端模板 thinkcmf后台加载新模板 CSS js文件

    我们的博客后台已经搭建好了,接下来我就要选择一个合适的模板做自己的博客,首先要定位你的博客是做什么用的,是属于什么行业,根据自己博客的定位选择适合的模板. 如果你是设计师,又会前端设计开发,那就可以自 ...

  4. Orchard之生成新模板

    一:启用 Code Generation 进入后台, Modules –>  Developer Enable 之.   二:生成模版 首先,进入 Orchard 命令行 在 CMD 下到达解决 ...

  5. SpringBoot thymeleaf模板版本,thymeleaf模板更换版本

    SpringBoot thymeleaf模板版本 thymeleaf模板更换版本 修改thymeleaf模板版本 ================================ ©Copyright ...

  6. springboot集成模板引擎freemarker和thymeleaf

    freemarkder和thymeleaf都是java的模板引擎,这里只介绍这两种模板引擎如何在sprongboot中配置: 1. freemarkder 1.1 在pom.xml中添加依赖包 < ...

  7. springboot之模板

    转:http://jisonami.iteye.com/blog/2301387,http://412887952-qq-com.iteye.com/blog/2292402 整体步骤:(1)     ...

  8. [译][ABP vNext]ABP CLI,v0.18版本的新模板和其他功能

    ABP CLI,v0.18版本的新模板和其他功能 ABP v0.18已发布, 包含解决的70+个issue,500+次提交 网站更改 abp.io网站完全更新以突出ABP框架的目标和重要功能.文档和博 ...

  9. SpringBoot前端模板

    Springboot支持thymeleaf.freemarker.JSP,但是官方不建议使用JSP,因为有些功能会受限制,这里介绍thymeleaf和freemarker. 一.thymeleaf模板 ...

随机推荐

  1. org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'org.mybatis.spring.mapper.MapperScannerConfigurer#0'

    七月 05, 2018 10:26:54 上午 org.apache.tomcat.util.digester.SetPropertiesRule begin警告: [SetPropertiesRul ...

  2. Eclipse配置C++时的三个关键环境变量

    ECLIPSE下载很简单,然后装上MinGW,安装就完成了,关键是要配置三个环境变量 include——C:\MinGW\include lib——C:\MinGW\lib path——C:\MinG ...

  3. Supervisord管理进程实践

    今天凑空研究了下Supervisord,这是一款linux进程管理工具,使用python开发,主要用于在后台维护进程(类似master守护进程),可以实现监控进程的状态.自动重启进程等操作,便于一些服 ...

  4. mvc 学前必知

    MVC无人不知,可很多程序员对MVC的概念的理解似乎有误,换言之他们一直在错用MVC,尽管即使如此软件也能被写出来,然而软件内部代码的组织方式却是不科学的,这会影响到软件的可维护性.可移植性,代码的可 ...

  5. 基于create-react-app的再配置

    前面的话 使用Facebook官方推出的create-react-app脚手架,我们基本可以零配置搭建基于webpack的React开发环境.但是,如果需要个性化定制,则还需要基于create-rea ...

  6. July 算法习题 - 字符串4(全排列和全组合)

    https://segmentfault.com/a/1190000002710424 思想:当前层各节点首元素不同,则各节点的剩余元素也不同:下一层节点交换范围为首元素以外的元素 全排列算法: vo ...

  7. 想要配置文件生效 需要通过添加到web.xml加载到内存中

    想要配置文件生效 需要通过添加到web.xml加载到内存中

  8. C语言学习IDE和基本程序结构

    任何一门语言的学习,首先要有一个编辑器或集成开发工具IDE, 要不然代码都不知道写到什么地方.对于我这种小白来说,安装个IDE是最好不过的,因为C 语言也是编译语言,写完代码之后,要先编译才能运行,而 ...

  9. Yahoo Programming Contest 2019 自闭记

    A:签到. #include<iostream> #include<cstdio> #include<cmath> #include<cstdlib> ...

  10. P1140 相似基因 最长公共子序列

    思路 类似于最长公共子序列 把一段基因和另外一段基因匹配  不够长的用空基因替换 #include<bits/stdc++.h> using namespace std; const in ...