APP payload特征增加session数值域配置

This commit is contained in:
zhangwei
2018-12-17 21:26:04 +06:00
parent c4423ff900
commit 8a3633d1c3
13 changed files with 329 additions and 20 deletions

View File

@@ -39,6 +39,7 @@ public class AppFeatureIndex extends BaseCfg<AppFeatureIndex> {
private List<AppIpCfg> ipPortList = new ArrayList();
private List<AppStringFeatureCfg> strList = new ArrayList();
private List<AppComplexFeatureCfg> complexList = new ArrayList();
private List<AppTcpCfg> numCfgList = new ArrayList();
protected Integer exprType ;
protected Integer matchMethod ;
protected Integer isHexbin;
@@ -126,5 +127,11 @@ public class AppFeatureIndex extends BaseCfg<AppFeatureIndex> {
public void setCfgRegionCode1(String cfgRegionCode1) {
this.cfgRegionCode1 = cfgRegionCode1;
}
public List<AppTcpCfg> getNumCfgList() {
return numCfgList;
}
public void setNumCfgList(List<AppTcpCfg> numCfgList) {
this.numCfgList = numCfgList;
}
}

View File

@@ -104,6 +104,7 @@ public class AppFeatureCfgController extends BaseController {
entity.setIpPortList(appMultiFeatureCfgService.getAppIpRangeCfg(entity.getCompileId(), entity.getFunctionId()));
entity.setStrList(appMultiFeatureCfgService.getAppStringFeatureCfg(entity.getCompileId(), entity.getFunctionId(),null));
entity.setComplexList(appMultiFeatureCfgService.getAppComplexFeatureCfg(entity.getCompileId(), entity.getFunctionId(),null));
entity.setNumCfgList(appMultiFeatureCfgService.getAppTcpCfg(entity.getCompileId(), entity.getFunctionId(),null));
initUpdateFormCondition(model,entity);
}else{
initFormCondition(model,entity);
@@ -249,6 +250,10 @@ public class AppFeatureCfgController extends BaseController {
List<AppComplexFeatureCfg> complexList = appMultiFeatureCfgService.getAppComplexFeatureCfg(compileId,functionId,Integer.valueOf(cfgRegionCode[i]));
map.put("complexList", complexList);
}
if("4".equals(cfgRegionType[i])){
List<AppTcpCfg> numCfgList = appMultiFeatureCfgService.getAppTcpCfg(compileId,functionId,Integer.valueOf(cfgRegionCode[i]));
map.put("numCfgList", numCfgList);
}
tabList.add(map);
}
}else{

View File

@@ -56,6 +56,12 @@ public interface AppMultiFeatureCfgDao {
//增强字符串类特征配置
public List<AppComplexFeatureCfg> getAppComplexFeatureCfg(@Param("compileId")Integer compileId,
@Param("functionId")Integer functionId,@Param("cfgRegionCode")Integer cfgRegionCode);
//数值类特征配置
public List<AppTcpCfg> getAppTcpCfg(@Param("compileId")Integer compileId,
@Param("functionId")Integer functionId,@Param("cfgRegionCode")Integer cfgRegionCode);
public int insertAppTcpCfg(AppTcpCfg entity);
public void deleteAppTcpCfg(BaseCfg entity);
public int insertAppComplexFeatureCfg(AppComplexFeatureCfg entity);
public void deleteAppComplexFeatureCfg(BaseCfg entity);
//IP RANGE配置

View File

@@ -137,6 +137,36 @@
<result column="do_log" property="doLog" jdbcType="INTEGER" />
<result column="cfg_type" property="cfgType" jdbcType="VARCHAR" />
</resultMap>
<!-- 数值域 -->
<resultMap id="AppTcpCfgMap" type="com.nis.domain.configuration.AppTcpCfg" >
<id column="cfg_id" property="cfgId" jdbcType="BIGINT" />
<result column="spec_service_id" property="specServiceId" jdbcType="INTEGER" />
<result column="app_code" property="appCode" jdbcType="INTEGER" />
<result column="behav_code" property="behavCode" jdbcType="INTEGER" />
<result column="low_boundary" property="lowBoundary" jdbcType="BIGINT" />
<result column="up_boundary" property="upBoundary" jdbcType="BIGINT" />
<result column="cfg_desc" property="cfgDesc" jdbcType="VARCHAR" />
<result column="action" property="action" jdbcType="INTEGER" />
<result column="is_valid" property="isValid" jdbcType="INTEGER" />
<result column="is_audit" property="isAudit" jdbcType="INTEGER" />
<result column="creator_id" property="creatorId" jdbcType="INTEGER" />
<result column="create_time" property="createTime" jdbcType="TIMESTAMP" />
<result column="editor_id" property="editorId" jdbcType="INTEGER" />
<result column="edit_time" property="editTime" jdbcType="TIMESTAMP" />
<result column="auditor_id" property="auditorId" jdbcType="INTEGER" />
<result column="audit_time" property="auditTime" jdbcType="TIMESTAMP" />
<result column="service_id" property="serviceId" jdbcType="INTEGER" />
<result column="request_id" property="requestId" jdbcType="INTEGER" />
<result column="compile_id" property="compileId" jdbcType="INTEGER" />
<result column="is_area_effective" property="isAreaEffective" jdbcType="INTEGER" />
<result column="classify" property="classify" jdbcType="VARCHAR" />
<result column="attribute" property="attribute" jdbcType="VARCHAR" />
<result column="lable" property="lable" jdbcType="VARCHAR" />
<result column="area_effective_ids" property="areaEffectiveIds" jdbcType="VARCHAR" />
<result column="ratelimit" property="ratelimit" jdbcType="VARCHAR" />
<result column="function_id" property="functionId" jdbcType="INTEGER" />
<result column="do_log" property="doLog" jdbcType="INTEGER" />
</resultMap>
<sql id="AppFeatureIndex_Column" >
r.CFG_ID,r.CFG_DESC,r.ACTION,r.IS_VALID,r.IS_AUDIT,
@@ -181,6 +211,13 @@
#{classify,jdbcType=VARCHAR},#{attribute,jdbcType=VARCHAR},#{lable,jdbcType=VARCHAR},
#{areaEffectiveIds,jdbcType=VARCHAR},#{functionId,jdbcType=INTEGER}
</sql>
<sql id="AppTcpCfg_Column" >
r.CFG_ID, r.APP_CODE,r.BEHAV_CODE,r.SPEC_SERVICE_ID,r.CFG_DESC,r.ACTION,r.IS_VALID,r.IS_AUDIT,
r.CREATOR_ID,r.CREATE_TIME,r.EDITOR_ID,r.EDIT_TIME,r.AUDITOR_ID,r.AUDIT_TIME,
r.SERVICE_ID,r.REQUEST_ID,r.COMPILE_ID,r.IS_AREA_EFFECTIVE,r.CLASSIFY,
r.ATTRIBUTE,r.LABLE,r.AREA_EFFECTIVE_IDS,r.RATELIMIT,r.FUNCTION_ID,r.CFG_TYPE,r.CFG_REGION_CODE,
r.low_boundary,r.up_boundary as upBoundary,r.do_log
</sql>
<select id="getAppFeatureIndex" resultMap="AppFeatureIndexMap" parameterType="java.lang.Long" >
SELECT
<include refid="AppFeatureIndex_Column" />
@@ -448,6 +485,16 @@
AND r.cfg_region_code = #{cfgRegionCode,jdbcType=BIGINT}
</if>
</select>
<!-- 查询数值类特征子配置列表 -->
<select id="getAppTcpCfg" resultMap="AppTcpCfgMap">
SELECT
<include refid="AppTcpCfg_Column" />
FROM app_session_cfg r
WHERE r.compile_id=#{compileId} and r.function_id=#{functionId}
<if test="cfgRegionCode !=null ">
AND r.cfg_region_code = #{cfgRegionCode,jdbcType=BIGINT}
</if>
</select>
<!-- 新增app_ip_range子配置 -->
<insert id="insertAppIpRangeCfg" parameterType="com.nis.domain.configuration.AppIpCfg" >
<selectKey resultType="java.lang.Long" order="AFTER" keyProperty="cfgId">
@@ -509,6 +556,24 @@
#{userRegion3,jdbcType=VARCHAR},#{userRegion4,jdbcType=VARCHAR},#{userRegion5,jdbcType=VARCHAR}
)
</insert>
<!-- 新增APP数值域特征子配置 -->
<insert id="insertAppTcpCfg" parameterType="com.nis.domain.configuration.AppTcpCfg" >
<selectKey resultType="java.lang.Long" order="AFTER" keyProperty="cfgId">
SELECT LAST_INSERT_ID()
</selectKey>
insert into app_session_cfg (
APP_CODE,BEHAV_CODE,SPEC_SERVICE_ID,CFG_DESC,ACTION,IS_VALID,IS_AUDIT,
CREATOR_ID,CREATE_TIME,EDITOR_ID,EDIT_TIME,AUDITOR_ID,AUDIT_TIME,
SERVICE_ID,REQUEST_ID,COMPILE_ID,IS_AREA_EFFECTIVE,CLASSIFY,
ATTRIBUTE,LABLE,AREA_EFFECTIVE_IDS,FUNCTION_ID,CFG_TYPE,CFG_REGION_CODE,
low_boundary,up_boundary,DO_LOG
)values (
<include refid="AppCommonCfg_Value_List" />,
#{cfgType,jdbcType=VARCHAR},#{cfgRegionCode,jdbcType=INTEGER},
#{lowBoundary,jdbcType=INTEGER},#{upBoundary,jdbcType=INTEGER},
#{doLog,jdbcType=INTEGER}
)
</insert>
<!-- 删除app_ip_range子配置 -->
<delete id="deleteAppIpRangeCfg" >
delete from app_ip_range_cfg where compile_id=#{compileId} and function_id=#{functionId}
@@ -521,6 +586,10 @@
<delete id="deleteAppComplexFeatureCfg" >
delete from app_complex_feature_cfg where compile_id=#{compileId} and function_id=#{functionId}
</delete>
<!-- 删除数值域特征子配置 -->
<delete id="deleteAppTcpCfg" >
delete from app_session_cfg where compile_id=#{compileId} and function_id=#{functionId}
</delete>
<select id="findAppByFeatureIndexList" resultMap="AppFeatureIndexMap">
select

View File

@@ -18,6 +18,7 @@ import com.nis.domain.configuration.AppFeatureIndex;
import com.nis.domain.configuration.AppHttpCfg;
import com.nis.domain.configuration.AppIpCfg;
import com.nis.domain.configuration.AppStringFeatureCfg;
import com.nis.domain.configuration.AppTcpCfg;
import com.nis.domain.configuration.CfgIndexInfo;
import com.nis.domain.configuration.HttpUrlCfg;
import com.nis.domain.configuration.IpPortCfg;
@@ -111,6 +112,15 @@ public class AppMultiFeatureCfgService extends BaseService {
}
}
if(entity.getNumCfgList()!=null){
for(AppTcpCfg cfg:entity.getNumCfgList()){
if(cfg.getLowBoundary()!=null && cfg.getUpBoundary()!=null){
BeanUtils.copyProperties(entity, cfg,new String[]{"cfgRegionCode","cfgType"});
appMultiFeatureCfgDao.insertAppTcpCfg(cfg);//复用AppTcpCfg对象作为数值类对象
}
}
}
} catch (Exception e) {
e.printStackTrace();
@@ -126,6 +136,7 @@ public class AppMultiFeatureCfgService extends BaseService {
appMultiFeatureCfgDao.deleteAppIpRangeCfg(entity);
appMultiFeatureCfgDao.deleteAppStringFeatureCfg(entity);
appMultiFeatureCfgDao.deleteAppComplexFeatureCfg(entity);
appMultiFeatureCfgDao.deleteAppTcpCfg(entity);//复用AppTcpCfg对象作为数值类对象
entity.setCreateTime(new Date());
entity.setCreatorId(entity.getCurrentUser().getId());
if(entity.getIpPortList()!=null){
@@ -150,6 +161,14 @@ public class AppMultiFeatureCfgService extends BaseService {
}
}
}
if(entity.getNumCfgList()!=null){
for(AppTcpCfg cfg:entity.getNumCfgList()){
if(cfg.getLowBoundary()!=null && cfg.getUpBoundary()!=null){
BeanUtils.copyProperties(entity, cfg,new String[]{"cfgRegionCode","cfgType"});
appMultiFeatureCfgDao.insertAppTcpCfg(cfg);
}
}
}
}
}
public void auditAppFeatureCfg(AppFeatureIndex entity, Integer isAudit) {
@@ -212,6 +231,18 @@ public class AppMultiFeatureCfgService extends BaseService {
strRegionList=map.get("dstList");
}
}
List<AppTcpCfg> numCfgList = appMultiFeatureCfgDao.getAppTcpCfg(entity.getCompileId(),entity.getFunctionId(),null);
if(numCfgList!=null && numCfgList.size()>0){
AppTcpCfg cfg = new AppTcpCfg();
BeanUtils.copyProperties(entity, cfg, new String[]{"cfgId"});
cfg.setTableName(AppTcpCfg.getTablename());
appMultiFeatureCfgDao.auditCfg(cfg);
if(isAudit==1){
Map<String,List> map = cfgConvert(numRegionList,numCfgList,4,entity,groupRelationList);
groupRelationList=map.get("groupList");
numRegionList=map.get("dstList");
}
}
// 构造提交综合服务参数格式,一条配置提交一次综合服务
if (isAudit == 1) {
maatCfg.initDefaultValue();
@@ -299,6 +330,13 @@ public class AppMultiFeatureCfgService extends BaseService {
cfg.setTableName(AppComplexFeatureCfg.getTablename());
appMultiFeatureCfgDao.updateCfgValid(cfg);
}
//修改数值域配置表状态
if (!StringUtil.isEmpty(entity.getNumCfgList())) {
AppTcpCfg cfg = new AppTcpCfg();
BeanUtils.copyProperties(entity, cfg, new String[] { "cfgId" });
cfg.setTableName(AppTcpCfg.getTablename());
appMultiFeatureCfgDao.updateCfgValid(cfg);
}
}
}
@@ -315,6 +353,10 @@ public class AppMultiFeatureCfgService extends BaseService {
public List<AppIpCfg> getAppIpRangeCfg(Integer compileId,Integer functionId){
return appMultiFeatureCfgDao.getAppIpRangeCfg(compileId,functionId);
}
//I数值域配置
public List<AppTcpCfg> getAppTcpCfg(Integer compileId,Integer functionId,Integer cfgRegionCode){
return appMultiFeatureCfgDao.getAppTcpCfg(compileId,functionId,cfgRegionCode);
}
public Map<String, List> exportFeature(AppFeatureIndex entity){
Map<String, List> dataMap=new HashMap<String, List>();

View File

@@ -1372,8 +1372,8 @@ bps=Bps
bps_percent=Bps Percent
pps=pps
pps_percent=pps Percent
spoofing_ip_object=Spoofing Policy Object
spoofing_ip_policy=Spoofing Policy
spoofing_ip_object=Spoofing IP Pool
spoofing_ip_policy=IP Spoofing
action_spoofing=Spoofing
spoofing=spoofing
service=Service
@@ -1399,4 +1399,7 @@ area_type=Area Type
dns_group_manage=DNS Group Manage
asn_group_manage=ASN Group Manage
ip_group_manage=IP Group Manage
ip_spoofing_group_manage=IP Spoofing Group Manage
ip_spoofing_group_manage=IP Spoofing Group Manage
min_tcp=Min
max_tcp=Max
APP_TCP_SESSION_BYTE=Session

View File

@@ -1376,8 +1376,8 @@ bps=Bps
bps_percent=Bps Percent
pps=pps
pps_percent=pps Percent
spoofing_ip_object=Spoofing Policy Object
spoofing_ip_policy=Spoofing Policy
spoofing_ip_object=Spoofing IP Pool
spoofing_ip_policy=IP Spoofing
action_spoofing=Spoofing
spoofing=spoofing
service=Service
@@ -1403,4 +1403,7 @@ area_type=Area Type
dns_group_manage=DNS Group Manage
asn_group_manage=ASN Group Manage
ip_group_manage=IP Group Manage
ip_spoofing_group_manage=IP Spoofing Group Manage
ip_spoofing_group_manage=IP Spoofing Group Manage
min_tcp=Min
max_tcp=Max
APP_TCP_SESSION_BYTE=Session

View File

@@ -1372,8 +1372,8 @@ bps=Bps
bps_percent=Bps Percent
pps=pps
pps_percent=pps Percent
spoofing_ip_object=Spoofing Policy Object
spoofing_ip_policy=Spoofing Policy
spoofing_ip_object=Spoofing IP Pool
spoofing_ip_policy=IP Spoofing
action_spoofing=Spoofing
spoofing=spoofing
service=Service
@@ -1399,4 +1399,7 @@ area_type=Area Type
dns_group_manage=DNS\u5206\u7EC4\u7BA1\u7406
asn_group_manage=ASN\u5206\u7EC4\u7BA1\u7406
ip_group_manage=IP\u5206\u7EC4\u7BA1\u7406
ip_spoofing_group_manage=IP Spoofing\u5206\u7EC4\u7BA1\u7406
ip_spoofing_group_manage=IP Spoofing\u5206\u7EC4\u7BA1\u7406
min_tcp=Min
max_tcp=Max
APP_TCP_SESSION_BYTE=Session

View File

@@ -50,6 +50,20 @@ $(function(){
}
}
});
var maxTtl=$("[name$=upBoundary]").val();
maxTtl = parseInt(maxTtl);
var minTtl=$("[name$=lowBoundary]").val();
minTtl = parseInt(minTtl);
if(maxTtl > 4294967295){
message="<spring:message code='min'/>";
$("div[for=upBoundary]").html("<label for=\"upBoundary\" class=\"error\" id=\"upBoundary-error\">"+message+"</label>");
flag=false;
}
if(minTtl>maxTtl){
message="<spring:message code='max_shouldnot_less_than_min'/>";
$("div[for=upBoundary]").html("<label for=\"upBoundary\" class=\"error\" id=\"upBoundary-error\">"+message+"</label>");
flag=false;
}
if(flag){
//将disable属性的元素删除
$(".disabled").each(function(){
@@ -202,7 +216,8 @@ var delContent = function(contentClassName, addBtnClassName) {
</c:if>
<c:set var="ipCfgIndex" value="0"></c:set>
<c:set var="complexCfgIndex" value="0"></c:set>
<c:set var="stfCfgIndex" value="0"></c:set>
<c:set var="strCfgIndex" value="0"></c:set>
<c:set var="numCfgIndex" value="0"></c:set>
<c:forEach items="${regionList}" var="region" varStatus="status">
<c:if test="${region.regionType eq 1 }">
@@ -306,7 +321,7 @@ var delContent = function(contentClassName, addBtnClassName) {
onClick="addContent(this,'${tabName}')" title="add"></span></small>
</h4>
<c:set var="cfgName"
value="strList[${stfCfgIndex}]"></c:set>
value="strList[${strCfgIndex}]"></c:set>
<%-- <c:set var="regionValue" value="${region.configRegionValue}"></c:set> --%>
<c:choose>
<c:when test="${fn:length(_cfg.strList)>0}">
@@ -324,8 +339,8 @@ var delContent = function(contentClassName, addBtnClassName) {
<input type="hidden" name="cfgRegionCode1" value="${region.configRegionCode }">
</div>
<c:set var="isBreak" value="true"></c:set>
<c:set var="stfCfgIndex"
value="${stfCfgIndex+1 }"></c:set>
<c:set var="strCfgIndex"
value="${strCfgIndex+1 }"></c:set>
</c:when>
</c:choose>
</c:forEach>
@@ -334,8 +349,8 @@ var delContent = function(contentClassName, addBtnClassName) {
class="row boxSolid ${tabName}${status.index} hidden disabled">
<%@include file="/WEB-INF/views/cfg/complexCfgForm.jsp"%>
</div>
<c:set var="stfCfgIndex"
value="${stfCfgIndex+1 }"></c:set>
<c:set var="strCfgIndex"
value="${strCfgIndex+1 }"></c:set>
</c:if>
</c:when>
<c:otherwise>
@@ -347,7 +362,61 @@ var delContent = function(contentClassName, addBtnClassName) {
<input type="hidden" name="cfgRegionCode1" value="${region.configRegionCode }">
<%@include file="/WEB-INF/views/cfg/complexCfgForm.jsp"%>
</div>
<c:set var="stfCfgIndex" value="${stfCfgIndex+1 }"></c:set>
<c:set var="strCfgIndex" value="${strCfgIndex+1 }"></c:set>
</c:otherwise>
</c:choose>
</c:if>
<c:if test="${region.regionType eq 4 }">
<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 <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="numCfgList[${numCfgIndex}]"></c:set>
<%-- <c:set var="regionValue" value="${region.configRegionValue}"></c:set> --%>
<c:choose>
<c:when test="${fn:length(_cfg.numCfgList)>0}">
<c:set var="isBreak" value="false"></c:set>
<c:forEach items="${_cfg.numCfgList}" var="cfg">
<c:choose>
<c:when
test="${region.configRegionCode eq cfg.cfgRegionCode and !isBreak}">
<div
class="row boxSolid ${tabName}${status.index}">
<%@include file="/WEB-INF/views/cfg/numCfgForm.jsp"%>
<input type="hidden" name="cfgRegionValue" value="${region.configRegionValue }">
<input type="hidden" name="cfgRegionType" value="${region.regionType }">
<input type="hidden" name="cfgRegionCode1" value="${region.configRegionCode }">
</div>
<c:set var="isBreak" value="true"></c:set>
<c:set var="numCfgIndex"
value="${numCfgIndex+1 }"></c:set>
</c:when>
</c:choose>
</c:forEach>
<c:if test="${!isBreak}">
<div
class="row boxSolid ${tabName}${status.index} hidden disabled">
<%@include file="/WEB-INF/views/cfg/numCfgForm.jsp"%>
</div>
<c:set var="numCfgIndex"
value="${numCfgIndex+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/numCfgForm.jsp"%>
</div>
<c:set var="numCfgIndex" value="${numCfgIndex+1 }"></c:set>
</c:otherwise>
</c:choose>
</c:if>

View File

@@ -37,7 +37,7 @@
<c:forEach items="${tabList}" var="region" varStatus="regionStatus">
<div id="${region.regionValue}_${regionStatus.index}Title${index}" onclick="switchSubCfgTabInfo('${region.regionValue}_${regionStatus.index}',${index})"
class="col-md-1 tabInfo" name="tabTitle${index }">
<spring:message code='${region.regionValue}_${regionStatus.index}' />
<spring:message code='${region.regionValue}' /><%-- _${regionStatus.index} --%>
<i id="${region.regionValue}_${regionStatus.index}${index}" class="fa" name="tabFlag${index}"></i>
</div>
</c:forEach>
@@ -357,6 +357,24 @@
</div>
</c:forEach>
</c:if>
<c:if test="${region.regionType eq 4 }">
<c:forEach items="${region.numCfgList}" var="cfg">
<div id="${region.regionValue}_${regionStatus.index}Info${index}" class="content content${region[0]}" name="subCfg${index}">
<div class="row">
<div class="col-md-2">
<div class="form-group">
<label><spring:message code='min' />: ${cfg.lowBoundary }</label>
</div>
</div>
<div class="col-md-2">
<div class="form-group">
<label><spring:message code='max' />: ${cfg.upBoundary}</label>
</div>
</div>
</div>
</div>
</c:forEach>
</c:if>
</c:forEach>

View File

@@ -0,0 +1,83 @@
<%@ 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">
<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>
<div class="row">
<div class="col-md-6">
<div class="form-group">
<label class="control-label col-md-3"><font color="red">*</font><spring:message code="min_tcp"/></label>
<div class="col-md-6">
<input class="form-control required number" type="text" name="${cfgName}.lowBoundary" value="${cfg.lowBoundary}" min="0">
</div>
<div for="${cfgName}.lowBoundary"></div>
<div for="lowBoundary"></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="max_tcp"/></label>
<div class="col-md-6">
<input class="form-control required number" type="text" name="${cfgName}.upBoundary" value="${cfg.upBoundary}" min="0">
</div>
<div for="${cfgName}.upBoundary"></div>
<div for="upBoundary"></div>
</div>
</div>
</div>
</html>
<script type="text/javascript">
function changeDistrict(obj){
if("others"==obj.val()){
obj.parent().siblings(".otherValue").prop("type","text");
}else{
obj.parent().siblings(".otherValue").prop("type","hidden");
}
}
</script>

View File

@@ -27,7 +27,7 @@ $(function(){
<div class="page-content">
<h3 class="page-title">
<spring:message code="spoofing_ip_pool"></spring:message>
<spring:message code="spoofing_ip_object"></spring:message>
</h3>
<div class="row">
@@ -51,6 +51,7 @@ $(function(){
<input type="hidden" name="protocol" value="0">
<input type="hidden" name="port" value="0">
<input type="hidden" name="userRegion" value="0">
<input type="hidden" name="isAreaEffective" value="0">
<input type="hidden" id="serviceId" name="serviceId" value="${_cfg.serviceId}">
<!-- 配置域类型 -->
<c:forEach items="${regionList}" var="region">
@@ -153,7 +154,7 @@ $(function(){
</div>
</div>
</div>
<%@include file="/WEB-INF/include/form/areaInfo.jsp"%>
<%-- <%@include file="/WEB-INF/include/form/areaInfo.jsp"%> --%>
<br>
<%@include file="/WEB-INF/include/form/basicInfo.jsp" %>
</div>

View File

@@ -73,7 +73,7 @@
</div>
<h3 class="page-title">
<spring:message code="spoofing_ip_pool"></spring:message>
<spring:message code="spoofing_ip_object"></spring:message>
</h3>
<h5 class="page-header"></h5>
<div class="col-md-12">