appsession组件 特征组件,管控组件

This commit is contained in:
dongxiaoyan
2019-02-19 13:45:47 +08:00
parent db20e37b13
commit ad28ae4d13
31 changed files with 2471 additions and 423 deletions

View File

@@ -40,6 +40,22 @@ $(function(){
errorContainer: "#messageBox",
});
});
//业务窗口打开
var addContent = function(obj, contentClassName) {
var showDiv = $(obj).parent().parent().next();
$(showDiv).removeClass("hidden").removeClass("disabled");
$("select[name$='portPattern']").parents(".port").removeClass("hidden");
$("input[name$='destIpAddress']").parents(".destPort").removeClass("hidden");
$(".moreBtn").data("click-times",2);
$(obj).addClass("hidden");
}
//业务窗口关闭
var delContent = function(contentClassName, addBtnClassName) {
$("." + contentClassName).addClass("hidden").addClass("disabled");
$("." + addBtnClassName).removeClass("hidden");
}
</script>
</head>
<body>
@@ -168,7 +184,7 @@ $(function(){
</div>
</div>
<c:forEach items="${regionList}" var="region">
<c:if test="${_cfg.functionId eq region.functionId}">
<c:if test="${_cfg.functionId eq region.functionId && region.regionType ne 9}">
<input type="hidden" name="cfgType" value="${region.configRegionValue}">
<input type="hidden" name="cfgRegionCode" serviceType="${region.configServiceType }" value="${region.configRegionCode }">
<input type="hidden" name="configMultiKeywords" value="${region.configMultiKeywords }">
@@ -363,7 +379,22 @@ $(function(){
</div>
</div>
</c:if>
</c:forEach>
<c:if test="${region.regionType eq 9 }">
<c:set var="tabName" value="${region.configRegionValue}Tab"></c:set>
<h4 class="form-section"><spring:message code="${region.configRegionValue}" />
<small>
<span class="glyphicon glyphicon-plus ${tabName}Add"
onClick="addContent(this,'${tabName}')" title="add"></span></small>
</h4>
<c:set var="cfgName" value="appFeaturePropCfgList[0]"></c:set>
<div class="row boxSolid ${tabName}${status.index} <c:if test="${fn:length(_cfg.appFeaturePropCfgList)==0}"> hidden disabled</c:if>">
<input type="hidden" name="cfgRegionValue" value="${region.configRegionValue }">
<input type="hidden" name="cfgRegionType" value="${region.regionType }">
<input type="hidden" name="cfgRegionCode1" value="${region.configRegionCode }">
<%@include file="/WEB-INF/views/cfg/app/appFeatureProp.jsp"%>
</div>
</c:if>
</c:forEach>
</div>
<input name="isAreaEffective" type="hidden" value="0">
<%-- <%@include file="/WEB-INF/include/form/areaInfo.jsp" %> --%>

View File

@@ -0,0 +1,203 @@
<%@ page contentType="text/html;charset=UTF-8"%>
<%@ include file="/WEB-INF/include/taglib.jsp"%>
<html>
<head>
<title></title>
</head>
<div class="row">
<div class="pull-right">
<span class="glyphicon glyphicon-remove pull-right" title="remove"
onClick="delContent('${tabName}${status.index}','${tabName}Add');" />
</div>
</div>
<br>
<!-- 控管组件 -->
<div class="row">
<div class="col-md-6">
<div class="form-group">
<label class="control-label col-md-4"> <spring:message
code="drop_option" />
</label>
<div class="col-md-6">
<div class="col-md-6 input-group showDiv">
<span class="input-group-addon"> <input type="checkbox"
class="showFlag"
<c:if test="${_cfg.appFeaturePropCfgList[0].dropOpt != null}">checked</c:if> />
<span></span>
</span> <input class="form-control number showInfo" type="text"
range="[0,7200]" defaultVal="180" name="${cfgName}.dropOpt"
name="" value="${_cfg.appFeaturePropCfgList[0].dropOpt}"
disabled="disabled">
</div>
<div for="${cfgName}.dropOpt"></div>
</div>
</div>
</div>
<div class="col-md-6">
<div class="form-group">
<label class="control-label col-md-4"> <spring:message
code="loop_option" />
</label>
<div class="col-md-6">
<div class="col-md-6 input-group showDiv">
<span class="input-group-addon"> <input type="checkbox"
class="showFlag"
<c:if test="${_cfg.appFeaturePropCfgList[0].loopOpt != null}">checked</c:if> />
<span></span>
</span> <input class="form-control number showInfo" type="text"
range="[0,7200]" defaultVal="180" name="${cfgName}.loopOpt"
name="" value="${_cfg.appFeaturePropCfgList[0].loopOpt}"
disabled="disabled">
</div>
<div for="${cfgName}.loopOpt"></div>
</div>
</div>
</div>
</div>
<!-- 特征组件属性 -->
<div class="row" <c:if test="${region.configExprType eq 1}">hidden</c:if>>
<div class="row">
<div class="col-md-6">
<div class="form-group">
<label class="control-label col-md-4"> <spring:message
code="weak_feature" />
</label>
<div class="col-md-6">
<div class="mt-checkbox-inline">
<label class="mt-checkbox"> <input type="checkbox"
name="${cfgName}.weakFeature" value="DKC=11;DKS=1;"
<c:if test="${_cfg.appFeaturePropCfgList[0].weakFeature != null}">checked</c:if> />
<span></span>
</label>
</div>
</div>
</div>
</div>
<div class="col-md-6">
<div class="form-group">
<label class="control-label col-md-4"> <spring:message
code="whitelist_feature" />
</label>
<div class="col-md-6">
<div class="mt-checkbox-inline">
<label class="mt-checkbox"> <!-- 循环查看user_region中是否包含属性 -->
<input type="checkbox" name="${cfgName}.whitelistFeature"
value="DKC=13;DKS=1;"
<c:if test="${_cfg.appFeaturePropCfgList[0].whitelistFeature != null}">checked</c:if> />
<span></span>
</label>
</div>
</div>
</div>
</div>
</div>
<div class="row">
<div class="col-md-6">
<div class="form-group">
<label class="control-label col-md-4"> <spring:message
code="extend_scan_pktNum" />
</label>
<div class="col-md-6">
<div class="col-md-6 input-group showDiv">
<span class="input-group-addon"> <input type="checkbox"
class="showFlag"
<c:if test="${_cfg.appFeaturePropCfgList[0].extendScanPktNum != null}">checked</c:if> />
<span></span>
</span> <input class="form-control number showInfo" type="text"
disabled="disabled" name="${cfgName}.extendScanPktNum"
range="[2,8]" defaultVal="4"
value="${_cfg.appFeaturePropCfgList[0].extendScanPktNum}">
</div>
</div>
<div for="${cfgName}.extendScanPktNum"></div>
</div>
</div>
<div class="col-md-6">
<div class="form-group">
<label class="control-label col-md-4"> <spring:message
code="long_stream_lock_time" />
</label>
<div class="col-md-6">
<div class="col-md-6 input-group showDiv">
<span class="input-group-addon"> <input type="checkbox"
class="showFlag"
<c:if test="${_cfg.appFeaturePropCfgList[0].longStreamLockTime != null}">checked</c:if> />
<span></span>
</span> <input class="form-control number showInfo" type="text"
name="${cfgName}.longStreamLockTime" range="[30,300]"
defaultVal="180"
value="${_cfg.appFeaturePropCfgList[0].longStreamLockTime}"
disabled="disabled">
</div>
</div>
<div for="${cfgName}.longStreamLockTime"></div>
</div>
</div>
</div>
<div class="row">
<div class="col-md-6">
<div class="form-group">
<label class="control-label col-md-4"> <spring:message
code="correlation_block_after" />
</label>
<div class="col-md-6">
<div class="mt-checkbox-inline">
<label class="mt-checkbox"> <input type="checkbox"
name="${cfgName}.correlationBlockAfter" value="DKC=12;DKS=1;"
<c:if test="${_cfg.appFeaturePropCfgList[0].correlationBlockAfter != null}">checked</c:if> />
<span></span>
</label>
</div>
</div>
</div>
</div>
<div class="col-md-6">
<div class="form-group">
<label class="control-label col-md-4"> <spring:message
code="correlation_valid_time" />
</label>
<div class="col-md-6 showDiv">
<div class="col-md-6 input-group showDiv">
<span class="input-group-addon"> <input type="checkbox"
class="showFlag"
<c:if test="${_cfg.appFeaturePropCfgList[0].correlationValidTime != null}">checked</c:if> />
<span></span>
</span> <input class="form-control number showInfo" type="text"
disabled="disabled" range="[0,360]" defaultVal="10"
name="${cfgName}.correlationValidTime"
value="${_cfg.appFeaturePropCfgList[0].correlationValidTime}">
</div>
</div>
<div for="${cfgName}.correlationValidTime"></div>
</div>
</div>
</div>
</div>
</html>
<script type="text/javascript">
$(function() {
$(".showFlag").on("click", function() {
var obj = $(this).parents(".showDiv").find(".showInfo");
if ($(this).is(':checked')) {
$(obj).val($(obj).attr("defaultVal"));
$(obj).removeAttr("disabled");
} else {
$(obj).val("");
$(obj).attr("disabled", "disabled");
}
});
$(".showFlag").each(function() {
var obj = $(this).parents(".showDiv").find(".showInfo");
if ($(this).is(':checked')) {
$(obj).removeAttr("disabled");
} else {
$(obj).attr("disabled", "disabled");
}
});
});
</script>

View File

@@ -0,0 +1,614 @@
<%@ page contentType="text/html;charset=UTF-8"%>
<%@ include file="/WEB-INF/include/taglib.jsp"%>
<html>
<head>
<title></title>
</head>
<%-- <c:forEach items="${regionList}" var="regionDistrict">
<c:if
test="${cfg.functionId eq regionDistrict.functionId
and regionDistrict.regionType eq 3
and regionValue eq regionDistrict.configRegionValue}"> --%>
<!-- regionDistrict.regionType==3表示增强字符串类配置 -->
<input type="hidden" name="${cfgName}.cfgType" value="${region.configRegionValue }">
<input type="hidden" name="${cfgName}.cfgRegionCode" serviceType="${region.configServiceType }" value="${region.configRegionCode }">
<input type="hidden" name="${cfgName}.configMultiKeywords" value="${region.configMultiKeywords }">
<input type="hidden" name="${cfgName}.configServiceType" value="${region.configServiceType }">
<input type="hidden" name="${cfgName}.configHex" value="${region.configHex }">
<%-- </c:if>
</c:forEach> --%>
<div class="row">
<div class="pull-right">
<span class="glyphicon glyphicon-remove pull-right" title="remove"
onClick="delContent('${tabName}${status.index}','${tabName}Add');" />
</div>
</div>
<br>
<c:if test="${!empty region.configDistrict }">
<div class="row hidden">
<div class="col-md-6">
<div class="form-group">
<label class="control-label col-md-3"><font color="red">*</font>
<spring:message code="district" /></label>
<div class="col-md-6">
<select name="${cfgName}.district"
class="selectpicker show-tick form-control required district" onchange="changeDistrict($(this))">
<c:forEach items="${fn:split(region.configDistrict,',')}"
var="_district">
<option value="${_district }"
<c:if test="${cfg.district==_district}">selected</c:if>>${_district }</option>
</c:forEach>
</select>
<input type="hidden" name="${cfgName}.districtShowName" maxlength="64" placeholder="<spring:message code='please_input'/> <spring:message code='custom_region'/>" class="otherValue form-control invisibleChar" value="${cfg.district}"/>
</div>
<div for="${cfgName}.districtShowName"></div>
<div for="${cfgName}.district"></div>
</div>
</div>
</div>
</c:if>
<c:if test="${region.functionId ne 566 }">
<!-- session组件属性 -->
<div class="row">
<div class="col-md-6">
<div class="form-group">
<label class="control-label col-md-3">
<spring:message code="L4 Protocol" />
</label>
<div class="col-md-6">
<select name="${cfgName}.ver" class="selectpicker show-tick form-control">
<option value=""><spring:message code="select"/></option>
<option value="6" <c:if test="${cfg.ver eq 6}">selected</c:if>><spring:message code="TCP"/></option>
<option value="17" <c:if test="${cfg.ver eq 17}">selected</c:if>><spring:message code="UDP"/></option>
<option value="50" <c:if test="${cfg.ver eq 50}">selected</c:if>><spring:message code="ESP"/></option>
<option value="1" <c:if test="${cfg.ver eq 1}">selected</c:if>><spring:message code="ICMP"/></option>
<%-- <c:forEach items="${fns:getDictList('PROTOCOL')}" var="dict">
<option value="${dict.itemCode }"
<c:if test="${cfg.ver == dict}">selected</c:if>>${dict.itemValue }</option>
</c:forEach> --%>
</select>
</div>
</div>
</div>
<div class="col-md-6">
<div class="form-group">
<label class="control-label col-md-3">
<spring:message code="Server Port" />
</label>
<div class="col-md-6">
<input class="form-control number sessionDPortCheck" type="text" name="${cfgName}.headerType" value="${cfg.headerType}">
</div>
<div for="${cfgName}.headerType"></div>
</div>
</div>
</div>
<div class="row">
<div class="col-md-6">
<div class="form-group">
<label class="control-label col-md-3">
<spring:message code="L7 Protocol" />
</label>
<div class="col-md-6">
<select name="${cfgName}.tos" class="selectpicker show-tick form-control" data-live-search="true" data-live-search-placeholder="search" >
<option value=""><spring:message code="select"/></option>
<option value="0" <c:if test="${cfg.tos == '0'}">selected</c:if>><spring:message code="Unknown L7 Protocol"/></option>
<c:forEach items="${l7ProtoList}" var="proto">
<option value="${proto.specServiceCode }"
<c:if test="${cfg.tos == proto.specServiceCode}">selected</c:if>>${proto.specServiceName }
</option>
</c:forEach>
</select>
</div>
</div>
</div>
<%-- <div class="col-md-6">
<div class="form-group">
<label class="control-label col-md-3">
<spring:message code="Private Protocol" />
</label>
<div class="col-md-6">
<div class="mt-checkbox-inline">
<label class="mt-checkbox">
<input type="checkbox" name="${cfgName}.ihl" value="1" class="privateProto"
<c:if test="${cfg.ihl != null}">checked</c:if>
/>
<span></span>
</label>
</div>
</div>
</div>
</div> --%>
</div>
<div class="row">
<div class="col-md-6">
<div class="form-group">
<label class="control-label col-md-3">
<spring:message code="TCP Nodelay" />
</label>
<div class="col-md-6">
<div class="mt-checkbox-inline">
<label class="mt-checkbox">
<input type="checkbox" name="${cfgName}.flags" value="1"
<c:if test="${cfg.flags != null}">checked</c:if>
/>
<span></span>
</label>
</div>
</div>
</div>
</div>
<div class="col-md-6">
<div class="form-group">
<label class="control-label col-md-3">
<spring:message code="TCP Without SYN" />
</label>
<div class="col-md-6">
<div class="mt-checkbox-inline">
<label class="mt-checkbox">
<input type="checkbox" name="${cfgName}.totalLength" value="1"
<c:if test="${cfg.totalLength != null}">checked</c:if>
/>
<span></span>
</label>
</div>
</div>
</div>
</div>
</div>
<div class="row">
<div class="col-md-6">
<div class="form-group">
<label class="control-label col-md-3">
<spring:message code="Find by Domain" />
</label>
<div class="col-md-6">
<div class="mt-checkbox-inline">
<label class="mt-checkbox">
<input type="checkbox" name="${cfgName}.fragmentOffset" value="1"
<c:if test="${cfg.fragmentOffset != null}">checked</c:if>
/>
<span></span>
</label>
</div>
</div>
</div>
</div>
<div class="col-md-6">
<div class="form-group">
<label class="control-label col-md-3">
<spring:message code="Use Loop" />
</label>
<div class="col-md-6">
<div class="mt-checkbox-inline">
<label class="mt-checkbox">
<input type="checkbox" name="${cfgName}.payloadPacketDirection" value="1"
<c:if test="${cfg.payloadPacketDirection != null}">checked</c:if>
/>
<span></span>
</label>
</div>
</div>
</div>
</div>
</div>
<div class="row">
<div class="col-md-6">
<div class="form-group">
<label class="control-label col-md-3">
<spring:message code="Session Size Min" />
</label>
<div class="col-md-6">
<input class="form-control number sessionSizeMin" type="text" min="0" maxlength="9" name="${cfgName}.payloadOffset" value="${cfg.payloadOffset}">
</div>
<div for="${cfgName}.payloadOffset"></div>
</div>
</div>
<div class="col-md-6">
<div class="form-group">
<label class="control-label col-md-3">
<spring:message code="Session Size Max" />
</label>
<div class="col-md-6">
<input class="form-control number sessionSizeMax" type="text" min="0" maxlength="9" name="${cfgName}.payloadSize" value="${cfg.payloadSize}">
</div>
<div for="${cfgName}.payloadSize"></div>
</div>
</div>
</div>
<div class="row">
<div class="col-md-6">
<div class="form-group">
<label class="control-label col-md-3">
<spring:message code="C2S" />
</label>
<div class="col-md-6">
<div class="mt-radio-inline">
<label class="mt-radio">
<input type="radio" class="c2s_radio" name="${cfgName}.sessionC2sRadio" value="c2sPayload"
<c:if test="${!empty cfg.icmpIdentifier }"> checked</c:if> />
<spring:message code="Payload Size Seq" />
<span></span>
</label>
<label class="mt-radio">
<input type="radio" class="c2s_radio" name="${cfgName}.sessionC2sRadio" value="c2sFrequent"
<c:if test="${!empty cfg.icmpCode }"> checked</c:if> />
<spring:message code="Frequent Payload size" />
<span></span>
</label>
</div>
</div>
</div>
</div>
<div class="col-md-6 c2sPayload <c:if test='${empty cfg.icmpIdentifier }'>hidden</c:if>">
<div class="form-group">
<label class="control-label col-md-3">
<spring:message code="C2S Payload Size Seq" />
</label>
<div class="col-md-6">
<input class="form-control number tags c2sAndS2cInput" type="text" name="${cfgName}.icmpIdentifier" value="${cfg.icmpIdentifier}">
</div>
<div for="${cfgName}.icmpIdentifier"></div>
</div>
</div>
<div class="col-md-6 c2sFrequent <c:if test='${empty cfg.icmpCode }'>hidden</c:if>">
<div class="form-group">
<label class="control-label col-md-3">
<spring:message code="C2S Frequent Payload size" />
</label>
<div class="col-md-6">
<input class="form-control number tags c2sAndS2cInput" type="text" name="${cfgName}.icmpCode" value="${cfg.icmpCode}">
</div>
<div for="${cfgName}.icmpCode"></div>
</div>
</div>
</div>
<div class="row">
<div class="col-md-6">
<div class="form-group">
<label class="control-label col-md-3">
<spring:message code="S2C" />
</label>
<div class="col-md-6">
<div class="mt-radio-inline">
<label class="mt-radio">
<input type="radio" class="s2c_radio" name="${cfgName}.sessionS2cRadio" value="s2cPayload"
<c:if test="${!empty cfg.icmpType }"> checked</c:if> />
<spring:message code="Payload Size Seq" />
<span></span>
</label>
<label class="mt-radio">
<input type="radio" class="s2c_radio" name="${cfgName}.sessionS2cRadio" value="s2cFrequent"
<c:if test="${!empty cfg.protocol }"> checked</c:if> />
<spring:message code="Frequent Payload size" />
<span></span>
</label>
</div>
</div>
</div>
</div>
<div class="col-md-6 s2cPayload <c:if test='${empty cfg.icmpType }'>hidden</c:if>">
<div class="form-group">
<label class="control-label col-md-3">
<spring:message code="S2C Payload Size Seq" />
</label>
<div class="col-md-6">
<input class="form-control tags c2sAndS2cInput" type="text" name="${cfgName}.icmpType" value="${cfg.icmpType}">
</div>
<div for="${cfgName}.icmpType"></div>
</div>
</div>
<div class="col-md-6 s2cFrequent <c:if test='${empty cfg.protocol }'>hidden</c:if>">
<div class="form-group">
<label class="control-label col-md-3">
<spring:message code="S2C Frequent Payload size" />
</label>
<div class="col-md-6">
<input class="form-control tags c2sAndS2cInput" type="text" name="${cfgName}.protocol" value="${cfg.protocol}">
</div>
<div for="${cfgName}.protocol"></div>
</div>
</div>
</div>
</c:if>
<c:if test="${region.functionId eq 566 }">
<div class="row">
<div class="col-md-6">
<div class="form-group">
<label class="control-label col-md-3">
<spring:message code="TLS Session Resumption" />
</label>
<div class="col-md-6">
<div class="mt-checkbox-inline">
<label class="mt-checkbox">
<input type="checkbox" name="${cfgName}.userRegion3" value="1"
<c:if test="${cfg.userRegion3 != null}">checked</c:if>
/>
<span></span>
</label>
</div>
</div>
</div>
</div>
<div class="col-md-6">
<div class="form-group">
<label class="control-label col-md-3">
<spring:message code="TLS Single Certificate" />
</label>
<div class="col-md-6">
<div class="mt-checkbox-inline">
<label class="mt-checkbox">
<input type="checkbox" name="${cfgName}.userRegion4" value="1"
<c:if test="${cfg.userRegion4 != null}">checked</c:if>
/>
<span></span>
</label>
</div>
</div>
</div>
</div>
</div>
<div class="row">
<div class="col-md-6">
<div class="form-group">
<label class="control-label col-md-3">
<spring:message code="TLS Self-issued Certificate" />
</label>
<div class="col-md-6">
<div class="mt-checkbox-inline">
<label class="mt-checkbox">
<input type="checkbox" name="${cfgName}.userRegion5" value="1"
<c:if test="${cfg.userRegion5 != null}">checked</c:if>
/>
<span></span>
</label>
</div>
</div>
</div>
</div>
</div>
</c:if>
<%-- <div class="row keywords">
<div class="col-md-6">
<div class="form-group">
<label class="control-label col-md-3"><font color="red">*</font>
<c:choose>
<c:when test="${fn:containsIgnoreCase(region.configServiceType,'domain') }">
<spring:message code="domain" />
</c:when>
<c:when test="${fn:containsIgnoreCase(region.configServiceType,'url') }">
<spring:message code="URL" />
</c:when>
<c:otherwise>
<spring:message code="keywords" />
</c:otherwise>
</c:choose>
</label>
<!-- 此配置的关键词可以输入多个关键词 -->
<c:if test="${region.configMultiKeywords eq 1}">
<div class="col-md-6">
<input class="form-control required tags" type="text" id="tags_${tabName}${status.index}"
name="${cfgName}.cfgKeywords"
value="${cfg.cfgKeywords}">
</div>
</c:if>
<!-- 此配置的关键词不允许输入多个关键词 -->
<c:if test="${(region.configMultiKeywords eq 0) or (empty region.configMultiKeywords)}">
<div class="col-md-6">
<input class="form-control required invisibleChar
<c:if test="${fn:containsIgnoreCase(region.configServiceType,'domain') }"> domainCheck </c:if>
"
type="text"
name="${cfgName}.cfgKeywords"
value="${cfg.cfgKeywords}">
</div>
</c:if>
<div for="${cfgName}.cfgKeywords"></div>
</div>
</div>
</div> --%>
<div class="row hidden">
<div class="col-md-6 exprType">
<div class="form-group">
<label class="control-label col-md-3"><font color="red">*</font>
<spring:message code="expression_type" /></label>
<div class="col-md-6">
<c:if test="${!empty region.configExprType}">
<c:forEach var="exprType" items="${fn:split(region.configExprType,',')}" varStatus="stat" >
<c:forEach items="${fns:getDictList('EXPRESSION_TYPE')}" var="exprTypeC" >
<c:if test="${exprTypeC.itemCode eq exprType}">
<label class="radio-inline">
<input type="radio"
name="${cfgName}.exprType" value="${exprType }"
class="required"
<c:if test="${stat.index == 0 }"> checked </c:if>
<c:if test="${cfg.exprType eq exprType || (empty cfg.exprType && exprType eq 0)}">
checked
</c:if>
>
<spring:message code="${exprTypeC.itemValue }" />
</label>
</c:if>
</c:forEach>
</c:forEach>
</c:if>
<c:if test="${empty region.configExprType}">
<c:forEach items="${fns:getDictList('EXPRESSION_TYPE')}" var="exprTypeC">
<c:if test="${exprTypeC.itemCode eq 0}">
<label class="radio-inline">
<input type="radio"
name="${cfgName}.exprType" value="${exprTypeC.itemCode }"
class="required" checked >
<spring:message code="${exprTypeC.itemValue }" />
</label>
</c:if>
</c:forEach>
</c:if>
</div>
<div for="${cfgName}.exprType"></div>
</div>
</div>
<div class="col-md-6 matchMethod">
<div class="form-group ">
<label class="control-label col-md-3"><font color="red">*</font>
<spring:message code="match_method" /></label>
<div class="col-md-6">
<select name="${cfgName}.matchMethod"
class="selectpicker select2 form-control required ">
<c:if test="${!empty region.configMatchMethod}">
<c:forEach var="matchMethod" items="${fn:split(region.configMatchMethod,',')}">
<c:forEach items="${fns:getDictList('MATCH_METHOD')}" var="matchMethodC">
<c:if test="${matchMethodC.itemCode eq matchMethod}">
<option value="${matchMethodC.itemCode}"
<c:if test="${cfg.matchMethod eq matchMethod || (empty cfg.matchMethod && matchMethod eq 0)}">
selected
</c:if>
>
<spring:message code="${matchMethodC.itemValue}"/>
</option>
</c:if>
</c:forEach>
</c:forEach>
</c:if>
<c:if test="${empty region.configMatchMethod}">
<c:forEach items="${fns:getDictList('MATCH_METHOD')}" var="matchMethodC">
<c:if test="${matchMethodC.itemCode eq 0}">
<option value="${matchMethodC.itemCode}"
selected
>
<spring:message code="${matchMethodC.itemValue}"/>
</option>
</c:if>
</c:forEach>
</c:if>
</select>
</div>
<div for="${cfgName}.matchMethod"></div>
</div>
</div>
</div>
<div class="row <c:if test="${fn:length(fn:split(region.configHex,',')) ==1}">hidden</c:if>">
<c:if test="${!empty region.configHex}">
<div class="col-md-6">
<div class="form-group ">
<label class="control-label col-md-3"><font color="red">*</font><spring:message code="is_hex"/></label>
<div class="col-md-6">
<!-- isP2pHashCfg: P2PHash配置只能是十六进制字符 -->
<label class="radio-inline">
<input type="radio" name="${cfgName}.isHex" value="1" class="required"
><spring:message code="hex"/>
</label>
<label class="radio-inline">
<input type="radio" name="${cfgName}.isHex" value="0" class="required"
><spring:message code="not_hex"/>
</label>
</div>
<div for="${cfgName}.isHex"></div>
</div>
</div>
<div class="col-md-6">
<div class="form-group ">
<label class="control-label col-md-3"><font color="red">*</font><spring:message code="is_case_insenstive"/></label>
<div class="col-md-6">
<label class="radio-inline">
<input type="radio" name="${cfgName}.isCaseSenstive" value="1" class="required"
><spring:message code="case_senstive"/>
</label>
<label class="radio-inline">
<input type="radio" name="${cfgName}.isCaseSenstive" value="0" class="required"
><spring:message code="case_insenstive"/>
</label>
</div>
<div for="${cfgName}.isCaseInsenstive"></div>
</div>
</div>
</c:if>
<c:if test="${empty region.configHex}">
<div class="col-md-6">
<div class="form-group ">
<label class="control-label col-md-3"><font color="red">*</font><spring:message code="is_hex"/></label>
<div class="col-md-6">
<label class="radio-inline">
<input type="radio" name="${cfgName}.isHex" value="0" class="required" checked
><spring:message code="not_hex"/>
</label>
</div>
<div for="${cfgName}.isHex"></div>
</div>
</div>
<div class="col-md-6">
<div class="form-group ">
<label class="control-label col-md-3"><font color="red">*</font><spring:message code="is_case_insenstive"/></label>
<div class="col-md-6">
<label class="radio-inline">
<input type="radio" name="${cfgName}.isCaseSenstive" value="0" class="required"
checked
><spring:message code="case_insenstive"/>
</label>
</div>
<div for="${cfgName}.isCaseInsenstive"></div>
</div>
</div>
</c:if>
</div>
<div class="row hidden">
<div class="col-md-6">
<div class="form-group">
<label class="control-label col-md-3"><font color="red">*</font>
<spring:message code="whether_hexbinary" /></label>
<div class="col-md-6">
<select name="${cfgName}.isHexbin"
class="selectpicker select2 form-control required">
<c:if test="${!empty region.configHex}">
<c:forEach var="isHexbin" items="${fn:split(region.configHex,',')}">
<c:forEach items="${fns:getDictList('WHETHER_HEXBINARY')}" var="isHexbinC">
<c:if test="${isHexbinC.itemCode eq isHexbin}">
<option value="${isHexbinC.itemCode}"
<c:if test="${cfg.isHexbin eq isHexbin || (empty isHexbin && isHexbin eq 0)}">
selected
</c:if>
>
<spring:message code="${isHexbinC.itemValue}"/>
</option>
</c:if>
</c:forEach>
</c:forEach>
</c:if>
<c:if test="${empty region.configHex}">
<c:forEach items="${fns:getDictList('WHETHER_HEXBINARY')}" var="isHexbinC">
<c:if test="${isHexbinC.itemCode eq 0}">
<option value="${isHexbinC.itemCode}" selected >
<spring:message code="${isHexbinC.itemValue}"/>
</option>
</c:if>
</c:forEach>
</c:if>
</select>
</div>
<div for="${cfgName}.isHexbin"></div>
</div>
</div>
</div>
</html>

View File

@@ -23,6 +23,22 @@ $(function(){
errorContainer: "#messageBox",
});
});
//业务窗口打开
var addContent = function(obj, contentClassName) {
var showDiv = $(obj).parent().parent().next();
$(showDiv).removeClass("hidden").removeClass("disabled");
$("select[name$='portPattern']").parents(".port").removeClass("hidden");
$("input[name$='destIpAddress']").parents(".destPort").removeClass("hidden");
$(".moreBtn").data("click-times",2);
$(obj).addClass("hidden");
}
//业务窗口关闭
var delContent = function(contentClassName, addBtnClassName) {
$("." + contentClassName).addClass("hidden").addClass("disabled");
$("." + addBtnClassName).removeClass("hidden");
}
</script>
</head>
<body>
@@ -53,7 +69,7 @@ $(function(){
<input type="hidden" id="direction" name="direction" value="0">
<!-- 配置域类型 -->
<c:forEach items="${regionList}" var="region">
<c:if test="${_cfg.functionId eq region.functionId}">
<c:if test="${_cfg.functionId eq region.functionId && region.regionType ne 9}">
<input type="hidden" name="cfgType" value="${region.configRegionValue}">
<input type="hidden" name="cfgRegionCode"isMaat="${region.isMaat}"
serviceType="${region.configServiceType}"
@@ -258,6 +274,24 @@ $(function(){
</div>
</div>
</div>
<c:forEach items="${regionList}" var="region">
<c:if test="${region.regionType eq 9 }">
<c:set var="tabName" value="${region.configRegionValue}Tab"></c:set>
<h4 class="form-section"><spring:message code="${region.configRegionValue}" />
<small>
<span class="glyphicon glyphicon-plus ${tabName}Add"
onClick="addContent(this,'${tabName}')" title="add"></span></small>
</h4>
<c:set var="cfgName" value="appFeaturePropCfgList[0]"></c:set>
<div class="row boxSolid ${tabName}${status.index} <c:if test="${fn:length(_cfg.appFeaturePropCfgList)==0}"> hidden disabled</c:if>">
<input type="hidden" name="cfgRegionValue" value="${region.configRegionValue }">
<input type="hidden" name="cfgRegionType" value="${region.regionType }">
<input type="hidden" name="cfgRegionCode1" value="${region.configRegionCode }">
<%@include file="/WEB-INF/views/cfg/app/appFeatureProp.jsp"%>
</div>
</c:if>
</c:forEach>
<input name="isAreaEffective" type="hidden" value="0">
<%-- <%@include file="/WEB-INF/include/form/areaInfo.jsp" %> --%>
<input type="hidden" name="requestId" value="0"/>

View File

@@ -168,7 +168,80 @@ $(function(){
},
errorContainer: "#messageBox",
});
// APP SESSION域 Session Size Min 和 Session Size Max属性限制
$(".sessionSizeMin").on("change",function(){
var minValue = parseInt($(".sessionSizeMin").val());
$(".sessionSizeMax").prop("min",minValue+1);
$(".sessionSizeMax").addClass("required");
if($(".sessionSizeMin").val() == ""){
$(".sessionSizeMax").removeClass("required");
}
});
$(".sessionSizeMax").on("change",function(){
var maxValue = parseInt($(".sessionSizeMax").val());
$(".sessionSizeMin").prop("max",maxValue-1);
$(".sessionSizeMin").addClass("required");
if($(".sessionSizeMax").val() == ""){
$(".sessionSizeMin").removeClass("required");
}
});
$(".c2s_radio").on("click",function(){
if($(this).val() == "c2sPayload"){
$(".c2sPayload").removeClass("hidden");
$(".c2sFrequent").addClass("hidden");
}else if($(this).val() == "c2sFrequent"){
$(".c2sFrequent").removeClass("hidden");
$(".c2sPayload").addClass("hidden");
}
});
$(".s2c_radio").on("click",function(){
if($(this).val() == "s2cPayload"){
$(".s2cPayload").removeClass("hidden");
$(".s2cFrequent").addClass("hidden");
}else if($(this).val()=="s2cFrequent"){
$(".s2cFrequent").removeClass("hidden");
$(".s2cPayload").addClass("hidden");
}
});
$(".c2sAndS2cInput").tagsInput({
width:$(".c2sAndS2cInput").find(".form-control").width(),
defaultText:'please input ignore query string in URL',
'delimiter':';',//特殊字符串分隔与表达式的多关键词
maxCount:4,
onAddTag:function(tag,size){
//var reg = new RegExp(/\t|\r|\n|,/);
var reg = new RegExp(/^([0-9]*)$/);
if (!tag.match(reg)) {
$(this).parent(".col-md-6").next("div").html("<label class='error'>"+$.validator.messages.number+"</label>");
}else{
$(this).parent(".col-md-6").next("div").html("");
}
},
onRemoveTag:function(tag,size){
$(this).parent(".col-md-6").next("div").html("");
}
});
$(".tagsinput").popover({
animation:true,
container:'body',
placement:'right',
html:true,
trigger:"hover",
title:"",
content:function(){
var content = $("#tagsinputTip").text();
return content;
}
});
});
//业务窗口打开
var addContent = function(obj, contentClassName) {
var showDiv = $(obj).parent().parent().next();
@@ -341,6 +414,7 @@ function changeKeywordFormate(exprType,obj){
<c:set var="complexCfgIndex" value="0"></c:set>
<c:set var="strCfgIndex" value="0"></c:set>
<c:set var="numCfgIndex" value="0"></c:set>
<c:set var="sessionCfgIndex" value="0"></c:set>
<c:forEach items="${regionList}" var="region" varStatus="status">
<c:if test="${region.regionType eq 1 }">
@@ -435,7 +509,7 @@ function changeKeywordFormate(exprType,obj){
</c:otherwise>
</c:choose>
</c:if>
<c:if test="${region.regionType eq 2 }">
<c:if test="${region.regionType eq 8 }">
<c:set var="tabName" value="${region.configRegionValue}Tab"></c:set>
<h4 class="form-section">
<spring:message code="${region.configRegionValue}" />
@@ -443,6 +517,71 @@ function changeKeywordFormate(exprType,obj){
class="glyphicon glyphicon-plus ${tabName}Add <c:if test="${fn:length(regionList)==1 or status.index==0}"> hidden</c:if>"
onClick="addContent(this,'${tabName}')" title="add"></span></small>
</h4>
<c:set var="cfgName" value="sessionList[${sessionCfgIndex}]"></c:set>
<%-- <c:set var="regionValue" value="${region.configRegionValue}"></c:set> --%>
<c:choose>
<c:when test="${fn:length(_cfg.sessionList)>0}">
<c:set var="isBreak" value="false"></c:set>
<c:forEach items="${_cfg.sessionList}" var="cfg">
<c:choose>
<c:when test="${region.configRegionCode eq cfg.cfgRegionCode and !isBreak}">
<div class="row boxSolid ${tabName}${status.index}">
<input type="hidden" name="cfgRegionValue" value="${region.configRegionValue }">
<input type="hidden" name="cfgRegionType" value="${region.regionType }">
<input type="hidden" name="cfgRegionCode1" value="${region.configRegionCode }">
<%@include file="/WEB-INF/views/cfg/app/appFeatureSessionForm.jsp"%>
</div>
<c:set var="isBreak" value="true"></c:set>
<c:set var="sessionCfgIndex"
value="${sessionCfgIndex+1 }"></c:set>
</c:when>
</c:choose>
</c:forEach>
<c:if test="${!isBreak}">
<div class="row boxSolid ${tabName}${status.index} hidden disabled">
<input type="hidden" name="cfgRegionValue" value="${region.configRegionValue }">
<input type="hidden" name="cfgRegionType" value="${region.regionType }">
<input type="hidden" name="cfgRegionCode1" value="${region.configRegionCode }">
<%@include file="/WEB-INF/views/cfg/app/appFeatureSessionForm.jsp"%>
</div>
<c:set var="sessionCfgIndex" value="${sessionCfgIndex+1 }"></c:set>
</c:if>
</c:when>
<c:otherwise>
<div class="row boxSolid ${tabName}${status.index} <c:if test="${fn:length(regionList)>1 and status.index>0}"> hidden disabled</c:if>">
<input type="hidden" name="cfgRegionValue" value="${region.configRegionValue }">
<input type="hidden" name="cfgRegionType" value="${region.regionType }">
<input type="hidden" name="cfgRegionCode1" value="${region.configRegionCode }">
<%@include file="/WEB-INF/views/cfg/app/appFeatureSessionForm.jsp"%>
</div>
<c:set var="sessionCfgIndex" value="${sessionCfgIndex+1 }"></c:set>
</c:otherwise>
</c:choose>
</c:if>
<c:if test="${region.regionType eq 9 }">
<c:set var="tabName" value="${region.configRegionValue}Tab"></c:set>
<h4 class="form-section"><spring:message code="${region.configRegionValue}" />
<small>
<span class="glyphicon glyphicon-plus ${tabName}Add"
onClick="addContent(this,'${tabName}')" title="add"></span></small>
</h4>
<c:set var="cfgName" value="appFeaturePropCfgList[0]"></c:set>
<div class="row boxSolid ${tabName}${status.index} <c:if test="${fn:length(_cfg.appFeaturePropCfgList)==0}"> hidden disabled</c:if>">
<input type="hidden" name="cfgRegionValue" value="${region.configRegionValue }">
<input type="hidden" name="cfgRegionType" value="${region.regionType }">
<input type="hidden" name="cfgRegionCode1" value="${region.configRegionCode }">
<%@include file="/WEB-INF/views/cfg/app/appFeatureProp.jsp"%>
</div>
</c:if>
<c:if test="${region.regionType eq 2 }">
<c:set var="tabName" value="${region.configRegionValue}Tab"></c:set>
<h4 class="form-section">
<spring:message code="${region.configRegionValue}" />
<small> <span
class="glyphicon glyphicon-plus ${tabName}Add"
onClick="addContent(this,'${tabName}')" title="add"></span></small>
</h4>
<c:set var="cfgName"
value="strList[${strCfgIndex}]"></c:set>
<%-- <c:set var="regionValue" value="${region.configRegionValue}"></c:set> --%>

File diff suppressed because it is too large Load Diff