分类性质标签、地域运营商作用域:融合自定义显示,添加排序,优化代码,
特定服务器管理:修正列表分页显示,条件查询,添加自定义显示,添加排序,新增修改页面添加表单校验, 协议ip配置:修正条件查询,添加自定义显示,添加排序,新增修改页面添加表单校验(ipV4\ipV6地址及掩码校验,端口校验)
This commit is contained in:
@@ -58,14 +58,6 @@
|
||||
$("#searchForm").attr("action","${ctx}/basics/serviceDictInfo/list?itType=${itType}");
|
||||
$("#searchForm").submit();
|
||||
return false;
|
||||
}
|
||||
function page2(n,s){
|
||||
$("#intype").attr("name",$("#seltype").val());
|
||||
$("#pageNo").val(n);
|
||||
$("#pageSize").val(s);
|
||||
$("#searchForm").attr("action","${ctx}/basics/serviceDictInfo/searchList?itType=${itType}");
|
||||
$("#searchForm").submit();
|
||||
return false;
|
||||
}
|
||||
$(document).ready(function() {
|
||||
|
||||
@@ -77,6 +69,11 @@
|
||||
$("#intype").attr("name",$("#seltype").find("option:selected").val());
|
||||
$("#intype").val('${searchContent}');
|
||||
|
||||
//reset
|
||||
$("#resetBtn").on("click",function(){
|
||||
$(".Wdate").attr("value",'');
|
||||
$("#searchForm")[0].reset();
|
||||
});
|
||||
|
||||
//筛选功能初始化
|
||||
filterActionInit();
|
||||
@@ -123,13 +120,13 @@
|
||||
<div class="portlet-body">
|
||||
|
||||
<div class="row" >
|
||||
<form:form id="searchForm" modelAttribute="serviceDictInfo" action="${ctx}/basics/serviceDictInfo/searchList?itType=${itType}" method="post" class="form-search">
|
||||
<form:form id="searchForm" modelAttribute="serviceDictInfo" action="${ctx}/basics/serviceDictInfo/list?itType=${itType}" method="post" class="form-search">
|
||||
<input id="pageNo" name="pageNo" type="hidden" value="${page.pageNo}"/>
|
||||
<input id="pageSize" name="pageSize" type="hidden" value="${page.pageSize}"/>
|
||||
|
||||
<!-- 筛选按钮展开状态-->
|
||||
<input id="isFilterAction" name="isFilterAction" type="hidden" value="${serviceDictInfo.isFilterAction}"/>
|
||||
|
||||
<sys:tableSort id="orderBy" name="orderBy" value="${page.orderBy}" callback="page();"/>
|
||||
<!-- 搜索内容与操作按钮栏 -->
|
||||
<div class="col-md-12">
|
||||
|
||||
@@ -160,7 +157,7 @@
|
||||
<input id="intype" class="form-control input-medium" placeholder="请输入配置编码" type="text">
|
||||
|
||||
<div class="input-group-btn">
|
||||
<button class="btn btn-default btn-search" type="button" onclick="page2()"><i class="fa fa-search"></i></button>
|
||||
<button class="btn btn-default btn-search" type="button" onclick="page()"><i class="fa fa-search"></i></button>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
@@ -229,8 +226,8 @@
|
||||
<div class="row">
|
||||
|
||||
<div class="pull-left">
|
||||
<button type="button" class="btn blue" onclick="page2()"> <i class="fa fa-search"></i> 搜索 </button>
|
||||
<button type="button" class="btn btn-default" onclick="reset()"> <i class="fa fa-refresh"></i> 重置 </button>
|
||||
<button type="button" class="btn blue" onclick="page()"> <i class="fa fa-search"></i> 搜索 </button>
|
||||
<button type="button" class="btn btn-default" onclick="reset()" id="resetBtn"> <i class="fa fa-refresh"></i> 重置 </button>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
@@ -247,9 +244,9 @@
|
||||
|
||||
|
||||
|
||||
<!-- <div class="table-responsive"> -->
|
||||
<div class="table-responsive">
|
||||
<sys:message content="${message}"/>
|
||||
<table id="treeTable" class="table table-striped table-bordered table-condensed">
|
||||
<table id="treeTable" class="table table-striped table-bordered table-condensed text-nowrap">
|
||||
<thead>
|
||||
<tr>
|
||||
<th><input type="checkbox" class="ckboxs" id="selAll" onclick="selectAll()"></th>
|
||||
@@ -260,9 +257,9 @@
|
||||
<th><spring:message code="item_type"/></th>
|
||||
<th><spring:message code="is_leaf"/></th>
|
||||
<th><spring:message code="creator"/></th>
|
||||
<th><spring:message code="create_time"/>
|
||||
<th class="sort-column create_time"><spring:message code="create_time"/>
|
||||
</th><th><spring:message code="editor"/></th>
|
||||
<th><spring:message code="edit_time"/></th>
|
||||
<th class="sort-column edit_time"><spring:message code="edit_time"/></th>
|
||||
<shiro:hasPermission name="sys:menu:edit"><th><spring:message code="operation"/></th></shiro:hasPermission>
|
||||
</tr>
|
||||
</thead>
|
||||
@@ -305,6 +302,7 @@
|
||||
</table>
|
||||
<div class="page">${page}</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -64,14 +64,6 @@
|
||||
$("#searchForm").submit();
|
||||
return false;
|
||||
}
|
||||
function page2(n,s){
|
||||
$("#intype").attr("name",$("#seltype").val());
|
||||
$("#pageNo").val(n);
|
||||
$("#pageSize").val(s);
|
||||
$("#searchForm").attr("action","${ctx}/basics/sysDictInfo/searchList?itType=${itType}");
|
||||
$("#searchForm").submit();
|
||||
return false;
|
||||
}
|
||||
$(document).ready(function() {
|
||||
//设定显示总条数
|
||||
$("#showTotalCount").text('${showTotalCount}');
|
||||
@@ -79,8 +71,13 @@
|
||||
|
||||
$("#seltype").find("option[value='${searchType==null?11:searchType}']").attr("selected",true);
|
||||
$("#intype").attr("name",$("#seltype").find("option:selected").val());
|
||||
$("#intype").val('${sysDictInfo.itemValue}');
|
||||
|
||||
$("#intype").val('${searchContent}');
|
||||
|
||||
//reset
|
||||
$("#resetBtn").on("click",function(){
|
||||
$(".Wdate").attr("value",'');
|
||||
$("#searchForm")[0].reset();
|
||||
});
|
||||
|
||||
//筛选功能初始化
|
||||
filterActionInit();
|
||||
@@ -126,13 +123,13 @@
|
||||
<div class="portlet-body">
|
||||
|
||||
<div class="row" >
|
||||
<form:form id="searchForm" modelAttribute="sysDictInfo" action="${ctx}/basics/sysDictInfo/searchList?itType=${itType}" method="post" class="form-search">
|
||||
<form:form id="searchForm" modelAttribute="sysDictInfo" action="${ctx}/basics/sysDictInfo/list?itType=${itType}" method="post" class="form-search">
|
||||
<input id="pageNo" name="pageNo" type="hidden" value="${page.pageNo}"/>
|
||||
<input id="pageSize" name="pageSize" type="hidden" value="${page.pageSize}"/>
|
||||
|
||||
<!-- 筛选按钮展开状态-->
|
||||
<input id="isFilterAction" name="isFilterAction" type="hidden" value="${sysDictInfo.isFilterAction}"/>
|
||||
|
||||
<sys:tableSort id="orderBy" name="orderBy" value="${page.orderBy}" callback="page();"/>
|
||||
<!-- 搜索内容与操作按钮栏 -->
|
||||
<div class="col-md-12">
|
||||
|
||||
@@ -163,7 +160,7 @@
|
||||
<input id="intype" class="form-control input-medium" placeholder="请输入配置编码" type="text">
|
||||
|
||||
<div class="input-group-btn">
|
||||
<button class="btn btn-default btn-search" type="button" onclick="page2()"><i class="fa fa-search"></i></button>
|
||||
<button class="btn btn-default btn-search" type="button" onclick="page()"><i class="fa fa-search"></i></button>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
@@ -232,8 +229,8 @@
|
||||
<div class="row">
|
||||
|
||||
<div class="pull-left">
|
||||
<button type="button" class="btn blue" onclick="page2()"> <i class="fa fa-search"></i> 搜索 </button>
|
||||
<button type="button" class="btn btn-default" onclick="reset()"> <i class="fa fa-refresh"></i> 重置 </button>
|
||||
<button type="button" class="btn blue" onclick="page()"> <i class="fa fa-search"></i> 搜索 </button>
|
||||
<button type="button" class="btn btn-default" onclick="reset()" id="resetBtn"> <i class="fa fa-refresh"></i> 重置 </button>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
@@ -250,9 +247,9 @@
|
||||
|
||||
|
||||
|
||||
<!-- <div class="table-responsive"> -->
|
||||
<div class="table-responsive">
|
||||
<sys:message content="${message}"/>
|
||||
<table id="treeTable" class="table table-striped table-bordered table-condensed">
|
||||
<table id="treeTable" class="table table-striped table-bordered table-condensed text-nowrap">
|
||||
<thead>
|
||||
<tr>
|
||||
<th><input type="checkbox" id="selAll" class="ckboxs" onclick="selectAll()"></th>
|
||||
@@ -263,9 +260,9 @@
|
||||
<th><spring:message code="item_type"/></th>
|
||||
<th><spring:message code="is_leaf"/></th>
|
||||
<th><spring:message code="creator"/></th>
|
||||
<th><spring:message code="create_time"/>
|
||||
<th class="sort-column create_time"><spring:message code="create_time"/>
|
||||
</th><th><spring:message code="editor"/></th>
|
||||
<th><spring:message code="edit_time"/></th>
|
||||
<th class="sort-column edit_time"><spring:message code="edit_time"/></th>
|
||||
<shiro:hasPermission name="sys:menu:edit"><th><spring:message code="operation"/></th></shiro:hasPermission>
|
||||
</tr>
|
||||
</thead>
|
||||
@@ -308,6 +305,7 @@
|
||||
</table>
|
||||
<div class="page">${page}</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -3,12 +3,12 @@
|
||||
<html>
|
||||
<head>
|
||||
<link rel="stylesheet" type="text/css" href="${ctxStatic}/pages/css/dictInfo.css" />
|
||||
<script type="text/javascript" src="${ctxStatic}/pages/scripts/dict.js"></script>
|
||||
<script type="text/javascript" src="${ctxStatic}/pages/scripts/specificServiceForm/specificServiceFormCfg.js"></script>
|
||||
<title></title>
|
||||
<script type="text/javascript">
|
||||
$(document).ready(function() {
|
||||
jQuery.validator.addMethod("maxValue", function(value, element) {
|
||||
return value >=0&&value<10000000;
|
||||
return value >=0&&value<210000000;
|
||||
}, "请填写正确的协议id");
|
||||
//校验叶子节点无上级不得选为叶子节点
|
||||
jQuery.validator.addMethod("leafHasTree",function(value,element){
|
||||
@@ -52,6 +52,10 @@
|
||||
'specServiceName':{
|
||||
required:true
|
||||
},
|
||||
'groupId':{
|
||||
digits:true,
|
||||
maxValue:true
|
||||
},
|
||||
'specServiceDesc':{
|
||||
required:true
|
||||
},
|
||||
@@ -64,12 +68,16 @@
|
||||
'specServiceId':{
|
||||
required:'请填写协议ID',
|
||||
digits:"请填写整数数字",
|
||||
maxValue: "请填写正确的协议ID",
|
||||
maxValue: "请填写正确的协议ID(0~210000000)",
|
||||
remote:'该协议ID已存在'
|
||||
},
|
||||
'specServiceName':{
|
||||
required:'请填写协议名称'
|
||||
},
|
||||
'groupId':{
|
||||
digits:'请填写整数数值',
|
||||
maxValue:'请填写正确的分组Id(0~210000000)'
|
||||
},
|
||||
'specServiceDesc':{
|
||||
required:'请填写协议描述'
|
||||
},
|
||||
@@ -112,7 +120,7 @@
|
||||
|
||||
|
||||
<h3 class="page-title">
|
||||
<spring:message code="configuration_manage"/>
|
||||
<spring:message code="specific_service_cfg"/>
|
||||
</h3>
|
||||
|
||||
<div class="row">
|
||||
@@ -159,9 +167,9 @@
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="col-md-3 control-label"><font color="red">*</font>maat端配置分组id:</label>
|
||||
<label class="col-md-3 control-label">maat端配置分组id:</label>
|
||||
<div class="col-md-4">
|
||||
<form:input path="groupId" htmlEscape="false" maxlength="50" class="form-control"/>
|
||||
<form:input path="groupId" htmlEscape="false" maxlength="50" class="form-control" placeholder="0"/>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
@@ -173,7 +181,7 @@
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="col-md-3 control-label">协议描述:</label>
|
||||
<label class="col-md-3 control-label"><font color="red">*</font>协议描述:</label>
|
||||
<div class="col-md-4">
|
||||
<form:textarea path="specServiceDesc" htmlEscape="false" maxlength="2000" class="form-control"/>
|
||||
</div>
|
||||
|
||||
@@ -19,7 +19,7 @@
|
||||
|
||||
|
||||
<h3 class="page-title">
|
||||
<spring:message code="configuration_manage"/>
|
||||
<spring:message code="specific_service_cfg"/>
|
||||
</h3>
|
||||
|
||||
<div class="row">
|
||||
|
||||
@@ -6,6 +6,8 @@
|
||||
<link href="${ctxStatic}/global/plugins/treeTable/themes/vsStyle/treeTable.min.css" rel="stylesheet" type="text/css" />
|
||||
<script src="${ctxStatic}/global/plugins/treeTable/jquery.treeTable.min.js" type="text/javascript"></script>
|
||||
<script src="${ctxStatic}/pages/scripts/dict.js" type="text/javascript"></script>
|
||||
<style type="text/css">
|
||||
</style>
|
||||
<script type="text/javascript">
|
||||
function reset(){
|
||||
$("#searchForm").reset();
|
||||
@@ -50,12 +52,31 @@
|
||||
alert("至少选择一条数据记录");
|
||||
}
|
||||
}
|
||||
function casec(){
|
||||
if($("#intype").attr("name")=="specServiceId"||$("#intype").attr("name")=="groupId"){
|
||||
if(isNaN($("#intype").val())){
|
||||
$("#showError").show();
|
||||
return false;
|
||||
}else{
|
||||
$("#showError").hide();
|
||||
//alert(11);
|
||||
return true;
|
||||
}
|
||||
}else{
|
||||
$("#showError").hide();
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
//查询
|
||||
function page(n,s){
|
||||
//$("#intype").attr("name",$("#seltype").val());
|
||||
$("#pageNo").val(n);
|
||||
$("#pageSize").val(s);
|
||||
$("#searchForm").attr("action","${ctx}/specific/specificServiceCfg/list");
|
||||
if(!casec()){
|
||||
return false;
|
||||
}
|
||||
$("#searchForm").submit();
|
||||
return false;
|
||||
}
|
||||
@@ -75,16 +96,13 @@
|
||||
$("#intype").val('${searchContent}');
|
||||
//筛选功能初始化
|
||||
filterActionInit();
|
||||
$("#isAudit").change(function(){
|
||||
page();
|
||||
});
|
||||
$("#seltype").change(function(){
|
||||
$("#intype").val("");
|
||||
$("#intype").attr("placeholder","请输入"+$(this).find("option:selected").text());
|
||||
$("#intype").attr("name",$(this).find("option:selected").val());
|
||||
$("#showError").hide();
|
||||
});
|
||||
$("#treeTable").treeTable({expandLevel : 3}).show();
|
||||
|
||||
});
|
||||
|
||||
</script>
|
||||
@@ -104,7 +122,7 @@
|
||||
</div>
|
||||
|
||||
<h3 class="page-title">
|
||||
特定服务信息
|
||||
<spring:message code="specific_service_cfg"/>
|
||||
<small><spring:message code="date_list"/></small>
|
||||
</h3>
|
||||
|
||||
@@ -122,28 +140,33 @@
|
||||
|
||||
<!-- 筛选按钮展开状态-->
|
||||
<input id="isFilterAction" name="isFilterAction" type="hidden" value="${specificServiceCfg.isFilterAction}"/>
|
||||
<sys:tableSort id="orderBy" name="orderBy" value="${page.orderBy}" callback="page();"/>
|
||||
|
||||
<!-- 搜索内容与操作按钮栏 -->
|
||||
<div class="col-md-12">
|
||||
<div class="pull-left">
|
||||
<div class="input-group">
|
||||
<div class="input-group-btn">
|
||||
<select id="seltype" class="selectpicker select2 input-small" >
|
||||
<select id="seltype" class="selectpicker select2 input-middle" >
|
||||
<option value="specServiceId">协议ID</option>
|
||||
<option value="specServiceName">协议名称</option>
|
||||
<option value="groupId">maat端配置分组ID</option>
|
||||
</select>
|
||||
</div>
|
||||
<input id="intype" class="form-control input-medium" placeholder="请输入协议ID" type="text">
|
||||
<input id="intype" class="form-control input-medium" placeholder="请输入协议ID" type="text" onchange="casec()">
|
||||
<div class="input-group-btn">
|
||||
<button class="btn btn-default btn-search" type="button" onclick="page()"><i class="fa fa-search"></i></button>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="pull-left" style="margin-top:10px;display:none" id="showError">
|
||||
<label class="error">请填写整数</label>
|
||||
</div>
|
||||
<div class="pull-left">
|
||||
<button type="button" class="btn btn-default" id="filter-btn"> 筛选 <i class="fa fa-angle-double-down"></i></button>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="pull-right">
|
||||
|
||||
@@ -206,9 +229,9 @@
|
||||
|
||||
|
||||
|
||||
<!-- <div class="table-responsive"> -->
|
||||
<div class="table-responsive">
|
||||
<sys:message content="${message}"/>
|
||||
<table id="treeTable" class="table table-striped table-bordered table-condensed">
|
||||
<table id="treeTable" class="table table-striped table-bordered table-condensed text-nowrap">
|
||||
<thead>
|
||||
<tr>
|
||||
<th><input type="checkbox" class="ckboxs" id="selAll" onclick="selectAll()"></th>
|
||||
@@ -218,9 +241,9 @@
|
||||
<th>协议描述</th>
|
||||
<th>maat端配置分组id</th>
|
||||
<th><spring:message code="is_leaf"/></th>
|
||||
<th>操作时间</th>
|
||||
<shiro:hasPermission name="sys:menu:edit"><th><spring:message code="operation"/></th></shiro:hasPermission>
|
||||
</tr>
|
||||
<th class="sort-column op_time">操作时间</th>
|
||||
<%-- <shiro:hasPermission name="sys:menu:edit"><th><spring:message code="operation"/></th></shiro:hasPermission>
|
||||
--%> </tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<c:forEach items="${list}" var="specificServiceCfg" varStatus="ss">
|
||||
@@ -233,7 +256,7 @@
|
||||
<td>${specificServiceCfg.groupId }</td>
|
||||
<td>${fns:getDictLabel("SYS_YES_NO",specificServiceCfg.isLeaf,"0")}</td>
|
||||
<td><fmt:formatDate value="${specificServiceCfg.opTime}" pattern="yyyy-MM-dd HH:mm:ss"/></td>
|
||||
<td>
|
||||
<%-- <td>
|
||||
<div class="btn-group btn-xs">
|
||||
<a class="btn btn-primary btn-xs dropdown-toggle" data-toggle="dropdown" href="#"><spring:message code="operation"/><span class="caret"></span></a>
|
||||
<ul class="dropdown-menu btn-xs">
|
||||
@@ -247,13 +270,14 @@
|
||||
|
||||
</ul>
|
||||
</div>
|
||||
</td>
|
||||
</td> --%>
|
||||
</tr>
|
||||
</c:forEach>
|
||||
</tbody>
|
||||
</table>
|
||||
<div class="page">${page}</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -7,57 +7,106 @@
|
||||
<script type="text/javascript" src="${ctxStatic}/pages/scripts/dict.js"></script>
|
||||
<title></title>
|
||||
<script type="text/javascript">
|
||||
$(document).ready(
|
||||
function() {
|
||||
$(document).ready(function() {
|
||||
$("[data-toogle='tooltip']").tooltip();
|
||||
$("select[name='ipType']").on("change",function(){
|
||||
var type=$(this).val();
|
||||
if(4==type){
|
||||
$("input[name='srcIpMask']").attr("placeholder","任意掩码请填0.0.0.0,无掩码请填255.255.255.255");
|
||||
$("input[name='dstIpMask']").attr("placeholder","任意掩码请填0.0.0.0,无掩码请填255.255.255.255");
|
||||
$("input[name='srcIp']").attr("placeholder","任意ip请填0.0.0.0");
|
||||
$("input[name='dstIp']").attr("placeholder","任意ip请填0.0.0.0");
|
||||
$("input[name='srcIpMask']").attr("title","任意掩码请填0.0.0.0,无掩码请填255.255.255.255");
|
||||
$("input[name='dstIpMask']").attr("title","任意掩码请填0.0.0.0,无掩码请填255.255.255.255");
|
||||
$("input[name='srcIp']").attr("title","任意ip请填0.0.0.0");
|
||||
$("input[name='dstIp']").attr("title","任意ip请填0.0.0.0");
|
||||
}
|
||||
if(6==type){
|
||||
$("input[name='srcIpMask']").attr("placeholder","若无请填FFFF:FFFF:FFFF:FFFF:FFFF:FFFF:FFFF:FFFF,任意请填 ::");
|
||||
$("input[name='dstIpMask']").attr("placeholder","若无请填FFFF:FFFF:FFFF:FFFF:FFFF:FFFF:FFFF:FFFF,任意请填 ::");
|
||||
$("input[name='srcIp']").attr("placeholder","任意ip请填 ::");
|
||||
$("input[name='dstIp']").attr("placeholder","任意ip请填 ::");
|
||||
$("input[name='srcIpMask']").attr("title","若无请填FFFF:FFFF:FFFF:FFFF:FFFF:FFFF:FFFF:FFFF,任意请填 ::");
|
||||
$("input[name='dstIpMask']").attr("title","若无请填FFFF:FFFF:FFFF:FFFF:FFFF:FFFF:FFFF:FFFF,任意请填 ::");
|
||||
$("input[name='srcIp']").attr("title","任意ip请填 ::");
|
||||
$("input[name='dstIp']").attr("title","任意ip请填 ::");
|
||||
}
|
||||
});
|
||||
jQuery.validator.addMethod("maxValue",
|
||||
function(value, element) {
|
||||
return value >= 0 && value < 10000000;
|
||||
return value >= 0 && value < 210000000;
|
||||
}, "请填写正确的协议id");
|
||||
//ip地址校验
|
||||
jQuery.validator.addMethod("ip",function(value, element) {
|
||||
return this.optional(element)||(/^(\d+)\.(\d+)\.(\d+)\.(\d+)$/.test(value) && (RegExp.$1 <256 && RegExp.$2<256 && RegExp.$3<256 && RegExp.$4<256));
|
||||
}, "请填写正确的IP地址,如192.168.0.1");
|
||||
var typeInt=$("select[name='ipType']").val();
|
||||
if(typeInt==4){
|
||||
return this.optional(element)||(/^(\d+)\.(\d+)\.(\d+)\.(\d+)$/.test(value) && (RegExp.$1 <256 && RegExp.$2<256 && RegExp.$3<256 && RegExp.$4<256));
|
||||
}else if(typeInt==6){
|
||||
return this.optional(element)||/^\s*((([0-9A-Fa-f]{1,4}:){7}(([0-9A-Fa-f]{1,4})|:))|(([0-9A-Fa-f]{1,4}:){6}(:|((25[0-5]|2[0-4]\d|[01]?\d{1,2})(\.(25[0-5]|2[0-4]\d|[01]?\d{1,2})){3})|(:[0-9A-Fa-f]{1,4})))|(([0-9A-Fa-f]{1,4}:){5}((:((25[0-5]|2[0-4]\d|[01]?\d{1,2})(\.(25[0-5]|2[0-4]\d|[01]?\d{1,2})){3})?)|((:[0-9A-Fa-f]{1,4}){1,2})))|(([0-9A-Fa-f]{1,4}:){4}(:[0-9A-Fa-f]{1,4}){0,1}((:((25[0-5]|2[0-4]\d|[01]?\d{1,2})(\.(25[0-5]|2[0-4]\d|[01]?\d{1,2})){3})?)|((:[0-9A-Fa-f]{1,4}){1,2})))|(([0-9A-Fa-f]{1,4}:){3}(:[0-9A-Fa-f]{1,4}){0,2}((:((25[0-5]|2[0-4]\d|[01]?\d{1,2})(\.(25[0-5]|2[0-4]\d|[01]?\d{1,2})){3})?)|((:[0-9A-Fa-f]{1,4}){1,2})))|(([0-9A-Fa-f]{1,4}:){2}(:[0-9A-Fa-f]{1,4}){0,3}((:((25[0-5]|2[0-4]\d|[01]?\d{1,2})(\.(25[0-5]|2[0-4]\d|[01]?\d{1,2})){3})?)|((:[0-9A-Fa-f]{1,4}){1,2})))|(([0-9A-Fa-f]{1,4}:)(:[0-9A-Fa-f]{1,4}){0,4}((:((25[0-5]|2[0-4]\d|[01]?\d{1,2})(\.(25[0-5]|2[0-4]\d|[01]?\d{1,2})){3})?)|((:[0-9A-Fa-f]{1,4}){1,2})))|(:(:[0-9A-Fa-f]{1,4}){0,5}((:((25[0-5]|2[0-4]\d|[01]?\d{1,2})(\.(25[0-5]|2[0-4]\d|[01]?\d{1,2})){3})?)|((:[0-9A-Fa-f]{1,4}){1,2})))|(((25[0-5]|2[0-4]\d|[01]?\d{1,2})(\.(25[0-5]|2[0-4]\d|[01]?\d{1,2})){3})))(%.+)?\s*$/.test(value);
|
||||
}}, "请填写正确的IP地址");
|
||||
//ip地址掩码校验
|
||||
jQuery.validator.addMethod("ipMask",function(value, element) {
|
||||
obj=value;
|
||||
var typeInt=$("select[name='ipType']").val();
|
||||
if(typeInt==4){
|
||||
if(obj=="255.255.255.255"){
|
||||
return true;
|
||||
}else{
|
||||
var exp=/^(254|252|248|240|224|192|128|0)\.0\.0\.0|255\.(254|252|248|240|224|192|128|0)\.0\.0|255\.255\.(254|252|248|240|224|192|128|0)\.0|255\.255\.255\.(254|252|248|240|224|192|128|0)$/;
|
||||
var reg = obj.match(exp);
|
||||
if(reg==null){return false;}else{return true}
|
||||
}
|
||||
}else if(typeInt==6){
|
||||
if(obj=="FFFF:FFFF:FFFF:FFFF:FFFF:FFFF:FFFF:FFFF"||obj==0||obj=="::"){
|
||||
return true;
|
||||
}else{return (obj > 0) && ((obj & (obj - 1)) == 0)};
|
||||
}
|
||||
}, "请填写正确的IP地址掩码");
|
||||
$("#name").focus();
|
||||
$("#inputForm")
|
||||
.validate(
|
||||
{
|
||||
rules : {
|
||||
'specServiceId':{
|
||||
required:true
|
||||
specServiceId:{
|
||||
required:true,
|
||||
digits:true,
|
||||
maxValue:true
|
||||
},
|
||||
'srcIp':{
|
||||
srcIp:{
|
||||
required:true,
|
||||
ip:true
|
||||
},
|
||||
'dstIp':{
|
||||
dstIp:{
|
||||
required:true,
|
||||
ip:true
|
||||
},
|
||||
'srcIpMask':{
|
||||
required:true
|
||||
srcIpMask:{
|
||||
required:true,
|
||||
ipMask:true
|
||||
},
|
||||
'dstIpMask':{
|
||||
required:true
|
||||
dstIpMask:{
|
||||
required:true,
|
||||
ipMask:true
|
||||
},
|
||||
'srcPort':{
|
||||
srcPort:{
|
||||
required:true,
|
||||
digits:true,
|
||||
max: 65535,
|
||||
min: 0
|
||||
},
|
||||
'dstPort':{
|
||||
dstPort:{
|
||||
required:true,
|
||||
digits:true,
|
||||
max: 65535,
|
||||
min: 0
|
||||
},
|
||||
'srcPortMask':{
|
||||
srcPortMask:{
|
||||
required:true,
|
||||
digits:true,
|
||||
max: 65535,
|
||||
min: 0
|
||||
},
|
||||
'dstPortMask':{
|
||||
dstPortMask:{
|
||||
required:true,
|
||||
digits:true,
|
||||
max: 65535,
|
||||
@@ -65,42 +114,44 @@
|
||||
}
|
||||
},
|
||||
messages : {
|
||||
'specServiceId':{
|
||||
required:'<spring:message code="required"/>'
|
||||
specServiceId:{
|
||||
required:'<spring:message code="required"/>',
|
||||
digits:'请填写整数数值',
|
||||
maxValue:'请填写合适的值(0~210000000)'
|
||||
},
|
||||
'srcIp':{
|
||||
srcIp:{
|
||||
required:'<spring:message code="required"/>',
|
||||
ip:'请填写正确的ip'
|
||||
},
|
||||
'dstIp':{
|
||||
dstIp:{
|
||||
required:'<spring:message code="required"/>',
|
||||
ip:'请填写正确的ip'
|
||||
},
|
||||
'srcIpMask':{
|
||||
srcIpMask:{
|
||||
required:'<spring:message code="required"/>'
|
||||
},
|
||||
'dstIpMask':{
|
||||
dstIpMask:{
|
||||
required:'<spring:message code="required"/>'
|
||||
},
|
||||
'srcPort':{
|
||||
srcPort:{
|
||||
required:'<spring:message code="required"/>',
|
||||
digits:'请填写整数',
|
||||
max: '数值不得大于65535',
|
||||
min: '数值不得小于0'
|
||||
},
|
||||
'dstPort':{
|
||||
dstPort:{
|
||||
required:'<spring:message code="required"/>',
|
||||
digits:'请填写整数',
|
||||
max: '数值不得大于65535',
|
||||
min: '数值不得小于0'
|
||||
},
|
||||
'srcPortMask':{
|
||||
srcPortMask:{
|
||||
required:'<spring:message code="required"/>',
|
||||
digits:'请填写整数',
|
||||
max: '数值不得大于65535',
|
||||
min: '数值不得小于0'
|
||||
},
|
||||
'dstPortMask':{
|
||||
dstPortMask:{
|
||||
required:'<spring:message code="required"/>',
|
||||
digits:'请填写整数',
|
||||
max: '数值不得大于65535',
|
||||
@@ -148,7 +199,7 @@
|
||||
|
||||
|
||||
<h3 class="page-title">
|
||||
<spring:message code="configuration_manage" />
|
||||
<spring:message code="agreement_ip_configuration" />
|
||||
</h3>
|
||||
|
||||
<div class="row">
|
||||
@@ -202,7 +253,6 @@
|
||||
<label class="col-md-3 control-label"><font color="red">*</font>协议:</label>
|
||||
<div class="col-md-6">
|
||||
<form:select path="protocol" class="selectpicker select2 form-control" >
|
||||
<form:option value="">-请选择协议类型-</form:option>
|
||||
<c:forEach items="${fns:getDictList('SPEC_PROTOCOL')}" var="dict">
|
||||
<form:option value="${dict.itemCode}">${dict.itemValue}</form:option>
|
||||
</c:forEach>
|
||||
@@ -212,13 +262,16 @@
|
||||
</div>
|
||||
<div class="col-md-6">
|
||||
<div class="form-group">
|
||||
<label class="col-md-3 control-label"><font color="red">*</font>是否审核:</label>
|
||||
<div class="col-md-6">
|
||||
<form:select path="isAudit" class="selectpicker select2 form-control" >
|
||||
<c:if test="${hostId == null}">
|
||||
<form:option value="0">${fns:getDictLabel("SPEC_AUDIT","0","0")}</form:option>
|
||||
</c:if>
|
||||
</form:select>
|
||||
<label class="col-md-3 control-label"><font color="red">*</font>ip类型:</label>
|
||||
<div class="col-md-6">
|
||||
<form:select path="ipType" class="selectpicker select2 form-control" >
|
||||
<c:forEach items="${fns:getDictList('SPEC_IP_TYPE')}" var="dict">
|
||||
<form:option value="${dict.itemCode}">${dict.itemValue}</form:option>
|
||||
</c:forEach>
|
||||
</form:select>
|
||||
</div>
|
||||
<div class="col-md-6" style="display:none;">
|
||||
<input name="isAudit" value="1"/>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -229,7 +282,7 @@
|
||||
<div class="form-group">
|
||||
<label class="col-md-3 control-label"><font color="red">*</font>源IP地址:</label>
|
||||
<div class="col-md-6">
|
||||
<form:input path="srcIp" htmlEscape="false" maxlength="50" class="form-control" placeholder="0.0.0.0"/>
|
||||
<form:input path="srcIp" htmlEscape="false" maxlength="50" class="form-control" data-toggle="tooltip" data-placement="top" title="任意ip请填0.0.0.0" placeholder="任意ip请填0.0.0.0"/>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -237,7 +290,7 @@
|
||||
<div class="form-group">
|
||||
<label class="col-md-3 control-label"><font color="red">*</font>目的IP地址:</label>
|
||||
<div class="col-md-6">
|
||||
<form:input path="dstIp" htmlEscape="false" maxlength="50" class="form-control" placeholder="0.0.0.0"/>
|
||||
<form:input path="dstIp" htmlEscape="false" maxlength="50" class="form-control" data-toggle="tooltip" data-placement="top" title="任意ip请填0.0.0.0" placeholder="任意ip请填0.0.0.0"/>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -248,7 +301,7 @@
|
||||
<div class="form-group">
|
||||
<label class="col-md-3 control-label"><font color="red">*</font>源地址掩码:</label>
|
||||
<div class="col-md-6">
|
||||
<form:input path="srcIpMask" htmlEscape="false" maxlength="50" class="form-control" placeholder="255.255.255.255"/>
|
||||
<form:input path="srcIpMask" htmlEscape="false" maxlength="50" class="form-control" data-toggle="tooltip" title="任意掩码请填0.0.0.0,无掩码请填255.255.255.255" data-placement="top" placeholder="任意掩码请填0.0.0.0,无掩码请填255.255.255.255"/>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -256,7 +309,7 @@
|
||||
<div class="form-group">
|
||||
<label class="col-md-3 control-label"><font color="red">*</font>目的地址掩码:</label>
|
||||
<div class="col-md-6">
|
||||
<form:input path="dstIpMask" htmlEscape="false" maxlength="50" class="form-control" placeholder="255.255.255.255"/>
|
||||
<form:input path="dstIpMask" htmlEscape="false" maxlength="50" class="form-control" data-toggle="tooltip" data-placement="top" title="任意掩码请填0.0.0.0,无掩码请填255.255.255.255" placeholder="任意掩码请填0.0.0.0,无掩码请填255.255.255.255"/>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -267,7 +320,7 @@
|
||||
<div class="form-group">
|
||||
<label class="col-md-3 control-label"><font color="red">*</font>源端口:</label>
|
||||
<div class="col-md-6">
|
||||
<form:input path="srcPort" htmlEscape="false" maxlength="50" class="form-control" placeholder="0"/>
|
||||
<form:input path="srcPort" htmlEscape="false" maxlength="50" class="form-control" data-toggle="tooltip" data-placement="top" title="任意端口请填0" placeholder="任意端口请填0"/>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -275,7 +328,7 @@
|
||||
<div class="form-group">
|
||||
<label class="col-md-3 control-label"><font color="red">*</font>目的端口:</label>
|
||||
<div class="col-md-6">
|
||||
<form:input path="dstPort" htmlEscape="false" maxlength="50" class="form-control" placeholder="0"/>
|
||||
<form:input path="dstPort" htmlEscape="false" maxlength="50" class="form-control" data-toggle="tooltip" data-placement="top" title="任意端口请填0" placeholder="任意端口请填0"/>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -285,7 +338,7 @@
|
||||
<div class="form-group">
|
||||
<label class="col-md-3 control-label"><font color="red">*</font>源端口掩码:</label>
|
||||
<div class="col-md-6">
|
||||
<form:input path="srcPortMask" htmlEscape="false" maxlength="50" class="form-control" placeholder="65535"/>
|
||||
<form:input path="srcPortMask" htmlEscape="false" maxlength="50" class="form-control" data-toggle="tooltip" data-placement="top" title="任意掩码请填0,无掩码请填65535" placeholder="任意掩码请填0,无掩码请填65535"/>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -293,7 +346,7 @@
|
||||
<div class="form-group">
|
||||
<label class="col-md-3 control-label"><font color="red">*</font>目的端口掩码:</label>
|
||||
<div class="col-md-6">
|
||||
<form:input path="dstPortMask" htmlEscape="false" maxlength="50" class="form-control" placeholder="65535"/>
|
||||
<form:input path="dstPortMask" htmlEscape="false" maxlength="50" class="form-control" data-toggle="tooltip" data-placement="top" title="任意掩码请填0,无掩码请填65535" placeholder="任意掩码请填0,无掩码请填65535"/>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -2,23 +2,7 @@
|
||||
<%@ include file="/WEB-INF/include/taglib.jsp"%>
|
||||
<html>
|
||||
<head>
|
||||
<title>特定服务服务器IP管理</title>
|
||||
<link href="${pageContext.request.contextPath}/static/global/plugins/bootstrap-select/css/bootstrap-select.min.css" rel="stylesheet"/>
|
||||
<script src="${pageContext.request.contextPath}/static/global/plugins/bootstrap-select/js/bootstrap-select.min.js"></script>
|
||||
<c:choose>
|
||||
<c:when test="${cookie.Language.value eq 'zh_CN'}">
|
||||
<script src="${pageContext.request.contextPath}/static/global/plugins/bootstrap-select/js/i18n/defaults-zh_CN.min.js"></script>
|
||||
</c:when>
|
||||
<c:when test="${cookie.Language.value eq 'en'}">
|
||||
<script src="${pageContext.request.contextPath}/static/global/plugins/bootstrap-select/js/i18n/defaults-en_US.min.js"></script>
|
||||
</c:when>
|
||||
<c:when test="${cookie.Language.value eq 'ru_RU'}">
|
||||
<script src="${pageContext.request.contextPath}/static/global/plugins/bootstrap-select/js/i18n/defaults-ru_RU.min.js"></script>
|
||||
</c:when>
|
||||
<c:otherwise>
|
||||
<script src="${pageContext.request.contextPath}/static/global/plugins/bootstrap-select/js/i18n/defaults-en_US.min.js"></script>
|
||||
</c:otherwise>
|
||||
</c:choose>
|
||||
<title><spring:message code="agreement_ip_configuration" /></title>
|
||||
<script>
|
||||
$(document).ready(function() {
|
||||
//筛选功能初始化
|
||||
@@ -33,6 +17,9 @@
|
||||
$("#protocol").change(function(){
|
||||
page();
|
||||
});
|
||||
$("#ipType").change(function(){
|
||||
page();
|
||||
});
|
||||
//全选及取消
|
||||
$("#checkAll").change(function(){
|
||||
if($("#checkAll").prop("checked")){
|
||||
@@ -60,17 +47,17 @@
|
||||
}
|
||||
//编辑
|
||||
function edit(){
|
||||
var cked = $('tbody tr td input.i-checks:checkbox:checked');
|
||||
if(cked.val()==1){
|
||||
top.$.jBox.tip("<spring:message code='has_approved'/>", "<spring:message code='info'/>");
|
||||
return;
|
||||
}
|
||||
if(cked.length==1){
|
||||
window.location = "${ctx}/specific/specificServiceHostCfg/form?hostId="+cked.attr("id");
|
||||
}else{
|
||||
top.$.jBox.tip("<spring:message code='check_one'/>", "<spring:message code='info'/>");
|
||||
return;
|
||||
}
|
||||
var mulitId="";
|
||||
jQuery("#contentTable").find(":checkbox:checked[name='check']").each(function(){
|
||||
if(jQuery(this).val()!=""){
|
||||
mulitId+=jQuery(this).val()+",";
|
||||
}
|
||||
});
|
||||
if(mulitId!=""){
|
||||
confirmx('您确认要执行该操作?', '${ctx}/specific/specificServiceHostCfg/form?hostId='+mulitId.split(",", 1)[0]);
|
||||
}else{
|
||||
alert("至少选择一条数据记录");
|
||||
}
|
||||
}
|
||||
//删除
|
||||
function delAll(){
|
||||
@@ -108,7 +95,7 @@
|
||||
</div>
|
||||
|
||||
<h3 class="page-title">
|
||||
特定服务服务器IP管理
|
||||
<spring:message code="agreement_ip_configuration" />
|
||||
<small><spring:message code="date_list"/></small>
|
||||
</h3>
|
||||
|
||||
@@ -126,17 +113,18 @@
|
||||
|
||||
<!-- 筛选按钮展开状态-->
|
||||
<input id="isFilterAction" name="isFilterAction" type="hidden" value="${specificServiceHostCfg.isFilterAction }"/>
|
||||
<sys:tableSort id="orderBy" name="orderBy" value="${page.orderBy}" callback="page();"/>
|
||||
|
||||
<!-- 搜索内容与操作按钮栏 -->
|
||||
<div class="col-md-12">
|
||||
<div class="pull-left">
|
||||
<%-- <div class="pull-left">
|
||||
<form:select path="isAudit" class="selectpicker select2 input-small" >
|
||||
<form:option value=""><spring:message code="all_states"/></form:option>
|
||||
<c:forEach items="${fns:getDictList('SPEC_AUDIT')}" var="dict">
|
||||
<form:option value="${dict.itemCode}">${dict.itemValue}</form:option>
|
||||
</c:forEach>
|
||||
</form:select>
|
||||
</div>
|
||||
</div> --%>
|
||||
<div class="pull-left">
|
||||
<c:set var="spec_service_id">协议ID</c:set>
|
||||
<form:select path="specServiceId" class="selectpicker select2 input-small" title="${spec_service_id}" data-live-search="true" data-live-search-placeholder="search">
|
||||
@@ -144,6 +132,14 @@
|
||||
<form:option value="${specServiceId}">${specServiceId}</form:option>
|
||||
</c:forEach>
|
||||
</form:select>
|
||||
</div>
|
||||
<div class="pull-left" style="margin-right:0px;">
|
||||
<form:select path="ipType" class="selectpicker select2 input-small" >
|
||||
<form:option value="">-请选择ip类型-</form:option>
|
||||
<c:forEach items="${fns:getDictList('SPEC_IP_TYPE')}" var="dict">
|
||||
<form:option value="${dict.itemCode}">${dict.itemValue}</form:option>
|
||||
</c:forEach>
|
||||
</form:select>
|
||||
</div>
|
||||
<div class="pull-left">
|
||||
<c:set var="src_ip">源Ip地址</c:set>
|
||||
@@ -156,7 +152,7 @@
|
||||
<div class="pull-left">
|
||||
<c:set var="dst_ip">目的Ip地址</c:set>
|
||||
<form:select path="dstIp" class="selectpicker select2 input-small" title="${dst_ip}" data-live-search="true" data-live-search-placeholder="search">
|
||||
<c:forEach items="${listSrcIp}" var="dstIp" >
|
||||
<c:forEach items="${listDstIp}" var="dstIp" >
|
||||
<form:option value="${dstIp}">${dstIp}</form:option>
|
||||
</c:forEach>
|
||||
</form:select>
|
||||
@@ -191,7 +187,7 @@
|
||||
<i class="fa fa-edit"></i> <spring:message code="edit"></spring:message></button>
|
||||
<button type="button" class="btn btn-default" onclick="delAll()">
|
||||
<i class="fa fa-trash"></i> 删除</button>
|
||||
<div class="btn-group" >
|
||||
<%-- <div class="btn-group" >
|
||||
<button type="button" class="btn btn-default dropdown-toggle" data-toggle="dropdown">
|
||||
<i class="fa fa-wrench"></i> <spring:message code="examine"></spring:message>
|
||||
<i class="fa fa-angle-down"></i>
|
||||
@@ -201,7 +197,7 @@
|
||||
<li><sys:delRow url="" id="contentTable" label="unapproved"></sys:delRow></li>
|
||||
<li><sys:delRow url="" id="contentTable" label="cancelPass"></sys:delRow></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div> --%>
|
||||
<a class="btn btn-icon-only btn-default setfields tooltips"
|
||||
data-container="body" data-placement="top" data-original-title="自定义列字段" href="javascript:;">
|
||||
<i class="icon-wrench"></i>
|
||||
@@ -269,7 +265,7 @@
|
||||
<input id="auditEndDate" name="auditEndDate" type="text" readonly="readonly" maxlength="20" class="form-control input-small Wdate"
|
||||
value="<fmt:formatDate value="${specificServiceHostCfg.auditEndDate}" pattern="yyyy-MM-dd HH:mm:ss"/>" onclick="WdatePicker({dateFmt:'yyyy-MM-dd HH:mm:ss',isShowClear:true});"/>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<h5 class="page-header"></h5>
|
||||
@@ -294,9 +290,9 @@
|
||||
|
||||
|
||||
|
||||
<!-- <div class="table-responsive"> -->
|
||||
<div class="table-responsive">
|
||||
<sys:message content="${message}"/>
|
||||
<table id="contentTable" class="table table-striped table-bordered table-condensed">
|
||||
<table id="contentTable" class="table table-striped table-bordered table-condensed text-nowrap">
|
||||
<thead>
|
||||
<tr>
|
||||
<th><input type="checkbox" class="i-checks" id="checkAll"></th>
|
||||
@@ -313,24 +309,24 @@
|
||||
<th>协议</th>
|
||||
<th>是否审核</th>
|
||||
<th>创建人员</th>
|
||||
<th>配置时间</th>
|
||||
<th class="sort-column create_time">配置时间</th>
|
||||
<th>修改人员</th>
|
||||
<th>修改时间</th>
|
||||
<th>审核人员</th>
|
||||
<th>审核时间</th>
|
||||
<th class="sort-column edit_time">修改时间</th>
|
||||
<th isVisible="false">审核人员</th>
|
||||
<th isVisible="false" class="sort-column audit_time">审核时间</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<c:forEach items="${page.list}" var="specificServiceHostCfg">
|
||||
<tr>
|
||||
<td><input type="checkbox" class="i-checks" name="check" id="${specificServiceHostCfg.hostId}" value="${specificServiceHostCfg.isAudit}"></td>
|
||||
<td><input type="checkbox" class="i-checks" name="check" id="${specificServiceHostCfg.hostId}" value="${specificServiceHostCfg.hostId}"></td>
|
||||
<td>${specificServiceHostCfg.specServiceId }</td>
|
||||
<td>${specificServiceHostCfg.srcIp }</td>
|
||||
<td>${specificServiceHostCfg.srcIpMask }</td>
|
||||
<td>${specificServiceHostCfg.srcPort }</td>
|
||||
<td>${specificServiceHostCfg.srcPortMask }</td>
|
||||
<td>${specificServiceHostCfg.dstIp }</td>
|
||||
<td>${specificServiceHostCfg.dstIpMask }</td>
|
||||
<td title="${specificServiceHostCfg.srcIp}">${fns:abbr(specificServiceHostCfg.srcIp,15)}</td>
|
||||
<td title="${specificServiceHostCfg.srcIpMask}">${fns:abbr(specificServiceHostCfg.srcIpMask,15) }</td>
|
||||
<td>${specificServiceHostCfg.srcPort}</td>
|
||||
<td>${specificServiceHostCfg.srcPortMask}</td>
|
||||
<td title="${specificServiceHostCfg.dstIp}">${fns:abbr(specificServiceHostCfg.dstIp,15) }</td>
|
||||
<td title="${specificServiceHostCfg.dstIpMask}">${fns:abbr(specificServiceHostCfg.dstIpMask,15) }</td>
|
||||
<td>${specificServiceHostCfg.dstPort }</td>
|
||||
<td>${specificServiceHostCfg.dstPortMask }</td>
|
||||
<td>${fns:getDictLabel("SPEC_DIRECTION",specificServiceHostCfg.direction,"0")}</td>
|
||||
@@ -348,6 +344,7 @@
|
||||
</table>
|
||||
<div class="page">${page}</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
Reference in New Issue
Block a user