APP payload特征增加session数值域配置
This commit is contained in:
@@ -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;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -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{
|
||||
|
||||
@@ -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配置
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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>();
|
||||
|
||||
@@ -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
|
||||
@@ -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
|
||||
@@ -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
|
||||
@@ -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>
|
||||
|
||||
@@ -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>
|
||||
|
||||
|
||||
|
||||
83
src/main/webapp/WEB-INF/views/cfg/numCfgForm.jsp
Normal file
83
src/main/webapp/WEB-INF/views/cfg/numCfgForm.jsp
Normal 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>
|
||||
@@ -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>
|
||||
|
||||
@@ -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">
|
||||
|
||||
Reference in New Issue
Block a user