From d46051aebda6171e8d2e541e547d79e05d59d25a Mon Sep 17 00:00:00 2001 From: duandongmei Date: Mon, 29 Oct 2018 16:23:33 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E9=85=8D=E7=BD=AEtd=20title?= =?UTF-8?q?=E6=98=BE=E7=A4=BA=E9=97=AE=E9=A2=98=20http=20url=E7=95=8C?= =?UTF-8?q?=E9=9D=A2=E5=A2=9E=E5=8A=A0=E9=85=8D=E7=BD=AE=E6=9D=A5=E6=BA=90?= =?UTF-8?q?=E4=BF=A1=E6=81=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../configuration/ntc/WebsiteController.java | 85 ++++++++++++------- .../resources/messages/message_en.properties | 21 +++-- .../resources/messages/message_ru.properties | 35 +++----- .../messages/message_zh_CN.properties | 24 ++++-- .../views/basics/requestSelectInfo.jsp | 13 ++- .../WEB-INF/views/cfg/website/httpList.jsp | 22 ++--- .../views/cfg/whitelist/domainList.jsp | 24 ++++-- .../WEB-INF/views/log/ntc/httpKeyList.jsp | 29 ++++++- .../webapp/static/global/scripts/common.js | 45 +++++++--- 9 files changed, 186 insertions(+), 112 deletions(-) diff --git a/src/main/java/com/nis/web/controller/configuration/ntc/WebsiteController.java b/src/main/java/com/nis/web/controller/configuration/ntc/WebsiteController.java index f164316e1..34025900b 100644 --- a/src/main/java/com/nis/web/controller/configuration/ntc/WebsiteController.java +++ b/src/main/java/com/nis/web/controller/configuration/ntc/WebsiteController.java @@ -192,6 +192,20 @@ public class WebsiteController extends BaseController{ websiteCfgService.saveHttpCfg(entity); return "redirect:" + adminPath +"/ntc/website/httpList?functionId="+entity.getFunctionId(); } + @RequestMapping(value = {"saveHttpUrlCfgs"}) + public String saveHttpUrlCfgs(RedirectAttributes model,HttpServletRequest request,HttpServletResponse response,CfgIndexInfo entity) { + if(!StringUtil.isEmpty(entity) && !StringUtil.isEmpty(entity.getHttpUrlList())){ + for (HttpUrlCfg httpUrlCfg : entity.getHttpUrlList()) { + CfgIndexInfo cfg=new CfgIndexInfo(); + List httpList=new ArrayList<>(); + BeanUtils.copyProperties(httpUrlCfg, cfg); + httpList.add(httpUrlCfg); + cfg.setHttpUrlList(httpList); + websiteCfgService.saveHttpCfg(cfg); + } + } + return "redirect:" + adminPath +"/ntc/website/httpList?functionId="+entity.getFunctionId(); + } @RequestMapping(value = {"ajaxHttpSubList"}) public String ajaxHttpSubList(Model model,Long cfgId,Integer index) { CfgIndexInfo cfg = websiteCfgService.getHttpCfg(cfgId); @@ -220,9 +234,11 @@ public class WebsiteController extends BaseController{ try { websiteCfgService.auditHttpCfg(entity,isAudit); } catch (MaatConvertException e) { - e.printStackTrace(); - logger.info("http配置下发失败:"+e.getMessage()); - addMessage(redirectAttributes, e.getMessage()); + logger.error("http配置下发失败:"+e.getMessage()); + addMessage(redirectAttributes, "request_service_failed"); + }catch (Exception e) { + logger.error("http配置下发失败:"+e.getMessage()); + addMessage(redirectAttributes, "audit_failed"); } } return "redirect:" + adminPath +"/ntc/website/httpList?functionId="+functionId; @@ -553,22 +569,6 @@ public class WebsiteController extends BaseController{ pageInfo.setPageSize(-1); } Page page = httpRedirectCfgService.getHttpRedirectList(pageInfo, entity); - titleList.add(entity.getMenuNameCode()); - titleList.add("NTC_HTTP_URL"); - titleList.add("NTC_HTTP_REQ_HDR"); - titleList.add("NTC_HTTP_RES_HDR"); - titleList.add("NTC_HTTP_REQ_BODY"); - titleList.add("NTC_HTTP_RES_BODY"); - titleList.add("NTC_UNIVERSAL_IP"); - titleList.add("NTC_SUBSCRIBE_ID"); - classMap.put(entity.getMenuNameCode(), CfgIndexInfo.class); - classMap.put("NTC_HTTP_URL", HttpUrlCfg.class); - classMap.put("NTC_HTTP_REQ_HDR", HttpReqHeadCfg.class); - classMap.put("NTC_HTTP_RES_HDR", HttpResHeadCfg.class); - classMap.put("NTC_HTTP_REQ_BODY", HttpBodyCfg.class); - classMap.put("NTC_HTTP_RES_BODY", HttpBodyCfg.class); - classMap.put("NTC_UNIVERSAL_IP", IpPortCfg.class); - classMap.put("NTC_SUBSCRIBE_ID", NtcSubscribeIdCfg.class); String cfgIndexInfoNoExport=",policy_name,group_name,userregion1,userregion2,userregion3,userregion4,userregion5,"; String httpUrlCfgNoExport=",do_log,action,config_describe,valid_identifier,is_audit,creator,creator" + ",config_time,editor,edit_time,auditor,audit_time" @@ -597,16 +597,7 @@ public class WebsiteController extends BaseController{ String ntcSubscribeIdCfgNoExport=",do_log,action,config_describe,valid_identifier,is_audit,creator,creator" + ",config_time,editor,edit_time,auditor,audit_time" +",letter,whether_area_block,classification,attribute,label" - +",userregion1,userregion2,userregion3,userregion4,userregion5,"; - noExportMap.put(entity.getMenuNameCode(),cfgIndexInfoNoExport); - noExportMap.put("NTC_HTTP_URL", httpUrlCfgNoExport); - noExportMap.put("NTC_HTTP_REQ_HDR", httpReqHeadCfgNoExport); - noExportMap.put("NTC_HTTP_RES_HDR", httpResHeadCfgNoExport); - noExportMap.put("NTC_HTTP_REQ_BODY", httpReqBodyCfgNoExport); - noExportMap.put("NTC_HTTP_RES_BODY", httpResBodyCfgNoExport); - noExportMap.put("NTC_UNIVERSAL_IP", ipPortCfgNoExport); - noExportMap.put("NTC_SUBSCRIBE_ID", ntcSubscribeIdCfgNoExport); - + +",userregion1,userregion2,userregion3,userregion4,userregion5,ir_type,group_name,"; List httpUrlList = new ArrayList<>(); List httpReqHdrList = new ArrayList<>(); List httpResHdrList = new ArrayList<>(); @@ -630,15 +621,43 @@ public class WebsiteController extends BaseController{ httpReqBodyList=BaseStringCfg.replaceBaseKeyList(httpReqBodyList); httpResBodyList=BaseStringCfg.replaceBaseKeyList(httpResBodyList); subscribeIdList=BaseStringCfg.baseHexList(subscribeIdList); + titleList.add(entity.getMenuNameCode()); + classMap.put(entity.getMenuNameCode(), CfgIndexInfo.class); + noExportMap.put(entity.getMenuNameCode(),cfgIndexInfoNoExport); dataMap.put(entity.getMenuNameCode(), page.getList()); - dataMap.put("NTC_HTTP_URL", httpUrlList); - dataMap.put("NTC_HTTP_REQ_HDR", httpReqHdrList); - dataMap.put("NTC_HTTP_RES_HDR", httpResHdrList); + + if(entity.getFunctionId()!=635){ + titleList.add("NTC_HTTP_URL"); + titleList.add("NTC_HTTP_REQ_HDR"); + titleList.add("NTC_HTTP_RES_HDR"); + classMap.put("NTC_HTTP_URL", HttpUrlCfg.class); + classMap.put("NTC_HTTP_REQ_HDR", HttpReqHeadCfg.class); + classMap.put("NTC_HTTP_RES_HDR", HttpResHeadCfg.class); + noExportMap.put("NTC_HTTP_URL", httpUrlCfgNoExport); + noExportMap.put("NTC_HTTP_REQ_HDR", httpReqHeadCfgNoExport); + noExportMap.put("NTC_HTTP_RES_HDR", httpResHeadCfgNoExport); + dataMap.put("NTC_HTTP_URL", httpUrlList); + dataMap.put("NTC_HTTP_REQ_HDR", httpReqHdrList); + dataMap.put("NTC_HTTP_RES_HDR", httpResHdrList); + } + titleList.add("NTC_HTTP_REQ_BODY"); + titleList.add("NTC_HTTP_RES_BODY"); + classMap.put("NTC_HTTP_REQ_BODY", HttpBodyCfg.class); + classMap.put("NTC_HTTP_RES_BODY", HttpBodyCfg.class); + noExportMap.put("NTC_HTTP_REQ_BODY", httpReqBodyCfgNoExport); + noExportMap.put("NTC_HTTP_RES_BODY", httpResBodyCfgNoExport); dataMap.put("NTC_HTTP_REQ_BODY", httpReqBodyList); dataMap.put("NTC_HTTP_RES_BODY", httpResBodyList); + if(entity.getFunctionId()!=635){ + titleList.add("NTC_UNIVERSAL_IP"); + titleList.add("NTC_SUBSCRIBE_ID"); + classMap.put("NTC_UNIVERSAL_IP", IpPortCfg.class); + classMap.put("NTC_SUBSCRIBE_ID", NtcSubscribeIdCfg.class); + noExportMap.put("NTC_UNIVERSAL_IP", ipPortCfgNoExport); + noExportMap.put("NTC_SUBSCRIBE_ID", ntcSubscribeIdCfgNoExport); dataMap.put("NTC_UNIVERSAL_IP", ipPortList); dataMap.put("NTC_SUBSCRIBE_ID",subscribeIdList); - + } /*}*/ this._export(model, request, response, redirectAttributes,entity.getMenuNameCode(),titleList,classMap,dataMap,noExportMap); } catch (Exception e) { diff --git a/src/main/resources/messages/message_en.properties b/src/main/resources/messages/message_en.properties index bfd0b38cf..e6496f382 100644 --- a/src/main/resources/messages/message_en.properties +++ b/src/main/resources/messages/message_en.properties @@ -103,7 +103,7 @@ isp_manage=ISP ip_multiple_control=IP Multiple Control ip_port_control=IP+PORT Control website_multiple_control=Website Multiple Control -mail_multiple_control=Mail Multiple Control +mail_multiple_control=Mail Advanced request_header_control=Http Request Header Control plaintext_monitor=Plaintext Monitor ip_address_monitor=IP Monitor @@ -562,7 +562,7 @@ ssl_ip=SSL IP Configuration ssl_sni=SSL SNI Keyword Configuration ssl_san=SSL SAN Keyword Configuration ssl_ca=SSL CN Keyword Configuration -http_control=HTTP Configuration +http_control=HTTP Advanced ingress=Ingress egress=Egress fileTransfer_control=File Transfer Configuration @@ -1006,7 +1006,7 @@ browser=Browser trend=Trend traffic_website_list=Website TOP10 traffic_website_type_chart=Website Type -website=webSite +website=Website #===============dashboard end=================================== ratelimit_limit=Limit Rate must between 0 and 1 Maintenance=Policy Object @@ -1234,7 +1234,7 @@ log_management=Log Management log_date=Date Range log_exception=Query Exception log_user=Operating User -log_submission=Submission +log_submission=Request Method log_ip=Operator IP log_exception_info=Exception Information system_log=Log Management @@ -1258,7 +1258,7 @@ pps_threadshold=Traffic Threshold(pps) one_more_greater_zero=At Least One Threshold Is Not 0. can_not_be= can not be %s the_same_ip_type_pattern=Client IP and Server IP must have the same IP type and the same IP pattern -protocol_and_port=Only when TCP protocol or UDP protocol is chosen can port greater than 0,ALL protocol has no limit +protocol_and_port=Only when TCP protocol or UDP protocol is chosen can port greater than 0 the_same_port_pattern=Client port and server port must in the same port pattern ip_range_in_c=Start IP and end IP in a IP range must with in C subnet ip_range_bit_field=Start IP and end IP in a IP range has the same network number bit field @@ -1289,4 +1289,13 @@ http_keyword_reject=Website Keyword Block has_invisible_char=%s has invisible characters not_multiple=%s do not support multiple keywords template_error=The import template is incorrect. Pleace choose a proper template which has the same language with the system and the same configure type. -asn_no=ASN \ No newline at end of file +asn_no=ASN +query=Query +cfg_operation_log=Configuration Operation Log +function_name=Operation Module +config_service_statistics=Config Statistics +ruleLimitTip=The number of effective rules has reached the limit(%s). +av_protocol_note=Note:Recognizable Protocols Include RTSP,RTMP. +ip_range_in_the_same=Start IP and end IP in a IP range must with in the same subnet +log_to_url=To HTTP URL +source_compile_id=Configuration Source \ No newline at end of file diff --git a/src/main/resources/messages/message_ru.properties b/src/main/resources/messages/message_ru.properties index 7b63db904..beb5b5fdf 100644 --- a/src/main/resources/messages/message_ru.properties +++ b/src/main/resources/messages/message_ru.properties @@ -1224,25 +1224,6 @@ area_group_manage=Group Area Manage stream_media_protocol=Stream Media Protocol new_link=New Link active_link=Active Link -traffic_ipactive_hour_trend=Active IP TOP10 Trend In Nearly One Hour -traffic_ipactive_hour_max=Active IP TOP10 Maximum In Nearly One Hour -ip_addr=IP -area_id=Area -link_num=Link Number -stat_time=Statistical Time -log_menu=Operation Menu -log_management=Log Management -log_date=Date Range -log_exception=Query Exception -log_user=Operating User -log_submission=Submission -log_ip=Operator IP -log_exception_info=Exception Information -system_log=Log Management -NTC_VOIP_ACCOUNT=VoIP \u0410\u043a\u043a\u0430\u0443\u043d\u0442 -stream_media_protocol=Stream Media Protocol -new_link=New Link -active_link=Active Link traffic_ipactive_hour_trend=Active IPTOP10 Trend In Nearly One Hour traffic_ipactive_hour_max=Active IPTOP10 Maximum In Nearly One Hour ip_addr=IP @@ -1254,10 +1235,10 @@ log_management=Log Management log_date=Date Range log_exception=Query Exception log_user=Operating User -log_submission=Submission +log_submission=Request Method log_ip=Operator IP log_exception_info=Exception Information -system_log=Log Management +system_log=Log Management protected_ddos=Protected DDOS usual_ddos=Usual DDOS mail_address=Mail Address @@ -1278,7 +1259,7 @@ pps_threadshold=Traffic Threshold(pps) one_more_greater_zero=At Least One Threshold Is Not 0. can_not_be=Can not be %s the_same_ip_type_pattern=Client IP and Server IP must have the same IP type and the same IP pattern -protocol_and_port=Only when TCP protocol or UDP protocol is chosen can port greater than 0,ALL protocol has no limit +protocol_and_port=Only when TCP protocol or UDP protocol is chosen can port greater than 0 the_same_port_pattern=Client port and server port must in the same port pattern ip_range_in_c=Start IP and end IP in a IP range must with in C subnet ip_range_bit_field=Start IP and end IP in a IP range has the same network number bit field @@ -1306,4 +1287,12 @@ import_tip_excel=Please choose a valid Excel file with which it's subfix is .xls http_keyword=Website Keyword http_keyword_monit=Website Keyword Monit http_keyword_reject=Website Keyword Reject -asn_no=ASN \ No newline at end of file +asn_no=ASN +query=Query +cfg_operation_log=Configuration Operation Log +function_name=Operation Module +config_service_statistics=Config Statistics +ruleLimitTip=The number of effective rules has reached the limit(%s). +av_protocol_note=Note:Recognizable Protocols Include RTSP,RTMP. +log_to_url=To HTTP URL +source_compile_id=Configuration Source \ No newline at end of file diff --git a/src/main/resources/messages/message_zh_CN.properties b/src/main/resources/messages/message_zh_CN.properties index 518464ee9..adc2d233d 100644 --- a/src/main/resources/messages/message_zh_CN.properties +++ b/src/main/resources/messages/message_zh_CN.properties @@ -103,7 +103,7 @@ isp_manage=\u8FD0\u8425\u5546\u7BA1\u7406 ip_multiple_control=IP\u591A\u57DF\u7BA1\u63A7 ip_port_control=IP+\u7AEF\u53E3\u7BA1\u63A7 website_multiple_control=\u7F51\u7AD9\u591A\u57DF\u7BA1\u63A7 -mail_multiple_control=\u90AE\u4EF6\u591A\u57DF\u7BA1\u63A7 +mail_multiple_control=\u90AE\u4EF6\u9AD8\u7EA7\u914D\u7F6E request_header_control=\u8BF7\u6C42\u5934\u57DF\u7BA1\u63A7 plaintext_monitor=\u660E\u6587\u5185\u5BB9\u76D1\u6D4B ip_address_monitor=IP\u5730\u5740\u76D1\u6D4B @@ -561,7 +561,7 @@ ssl_ip=SSL IP\u914D\u7F6E ssl_sni=SSL SNI\u5173\u952E\u5B57\u914D\u7F6E ssl_san=SSL SAN\u5173\u952E\u5B57\u914D\u7F6E ssl_ca=SSL CN\u5173\u952E\u5B57\u914D\u7F6E -http_control=HTTP\u914D\u7F6E +http_control=HTTP\u9AD8\u7EA7\u914D\u7F6E ingress=\u5165\u53E3\u65B9\u5411 egress=\u51FA\u53E3\u65B9\u5411 fileTransfer_control=\u6587\u4EF6\u4F20\u8F93\u914D\u7F6E @@ -962,7 +962,7 @@ app_byte_feature_monit=APP\u5B57\u8282\u7279\u5F81\u76D1\u6D4B proxy_domain_forward=\u57DF\u540D\u8F6C\u53D1 ip_complex_loop=IP\u590D\u7528 ddos_ip_drop=DDOS\u76EE\u6807\u9632\u62A4IP -ip_reuse_adress_pool_loop=IP\u590D\u7528\u5730\u5740\u6C60\u914D\u7F6E +ip_reuse_adress_pool_loop=IP\u590D\u7528\u5730\u5740\u6C60\u56DE\u6D41 app_strategy_monit=APP\u7B56\u7565\u76D1\u6D4B app_strategy_drop=APP\u7B56\u7565\u4E22\u5F03 ctrl_http_reject=HTTP(S)\u7BA1\u63A7 @@ -1188,10 +1188,8 @@ APP_DNS_ADMIN=APP DNS Admin APP_SSL_ADMIN=APP SSL Admin APP_DK_GL=APP\u591A\u7528\u9014\u6807\u7B7E dnat_complex_loop=DNAT IP\u590D\u7528\u56DE\u6D41 -ip_reuse_adress_pool_loop=IP\u590D\u7528\u5730\u5740\u6C60\u56DE\u6D41 snat_policy=SNAT\u590D\u7528\u7B56\u7565 dnat_policy=DNAT\u590D\u7528\u7B56\u7565 -report_total=\u5408\u8BA1 message_type=\u6D88\u606F\u7C7B\u578B as=\u81EA\u6CBB\u7CFB\u7EDF\u53F7 route=\u8DEF\u7531\u4FE1\u606F @@ -1228,7 +1226,7 @@ log_management=\u65E5\u5FD7\u7BA1\u7406 log_date=\u65E5\u671F\u8303\u56F4 log_exception=\u53EA\u67E5\u8BE2\u5F02\u5E38\u4FE1\u606F log_user=\u64CD\u4F5C\u7528\u6237 -log_submission=\u63D0\u4EA4\u65B9\u5F0F +log_submission=\u8BF7\u6C42\u65B9\u6CD5 log_ip=\u64CD\u4F5C\u8005IP log_exception_info=\u5F02\u5E38\u4FE1\u606F system_log=Log Management @@ -1252,7 +1250,7 @@ pps_threadshold=\u6D41\u91CF\u9608\u503C(pps) one_more_greater_zero=\u6D41\u91CF\u9608\u503C\u81F3\u5C11\u6709\u4E00\u4E2A\u4E0D\u4E3A 0 can_not_be=\u4E0D\u80FD\u4E3A%s the_same_ip_type_pattern=\u6E90IP\u4E0E\u76EE\u7684IP\u7684IP\u7C7B\u578B\uFF0CIP\u683C\u5F0F\u5FC5\u987B\u76F8\u540C -protocol_and_port=\u975ETCP\u534F\u8BAE\u4E0EUDP\u534F\u8BAE\u7AEF\u53E3\u5FC5\u987B\u4E3A0\uFF0C\u5168\u90E8\u534F\u8BAE\u65E0\u9650\u5236 +protocol_and_port=\u975ETCP\u534F\u8BAE\u4E0EUDP\u534F\u8BAE\u7AEF\u53E3\u5FC5\u987B\u4E3A0 the_same_port_pattern=\u6E90\u7AEF\u53E3\u4E0E\u76EE\u7684\u7AEF\u53E3\u7AEF\u53E3\u683C\u5F0F\u5FC5\u987B\u76F8\u540C ip_range_in_c=IP\u8303\u56F4\u7684\u8D77\u59CBIP\u4E0E\u7EC8\u6B62IP\u5FC5\u987B\u5728C\u7F51\u6BB5 ip_range_bit_field=IP\u8303\u56F4\u7684\u8D77\u59CBIP\u4E0E\u7EC8\u6B62IP\u7F51\u7EDC\u5730\u5740\u5FC5\u987B\u76F8\u540C @@ -1262,7 +1260,6 @@ certificate_error=\u516C\u94A5\u3001\u79C1\u94A5\u6587\u4EF6\u683C\u5F0F\u9519\u public_file_error=\u516C\u94A5\u6587\u4EF6\u683C\u5F0F\u9519\u8BEF keyframe_pic_required=\u5C1A\u672A\u9009\u62E9\u5173\u952E\u5E27\u56FE\u7247 private_file_error=\u79C1\u94A5\u6587\u4EF6\u683C\u5F0F\u9519\u8BEF -keyframe_pic_required=\u5C1A\u672A\u9009\u62E9\u5173\u952E\u5E27\u56FE\u7247 ipv4_range_tip=IPv4 Range ipv4_subnet_tip=IPv4/Subnet Mask ipv6_range_tip=IPv6 Range @@ -1284,4 +1281,13 @@ http_keyword_reject=\u7F51\u9875\u5173\u952E\u5B57\u963B\u65AD has_invisible_char=%s\u5305\u542B\u4E0D\u53EF\u89C1\u5B57\u7B26 not_multiple=%s\u4E0D\u652F\u6301\u591A\u4E2A\u5173\u952E\u5B57 template_error=\u5BFC\u5165\u6A21\u677F\u9519\u8BEF.\u8BF7\u9009\u62E9\u4E0E\u7CFB\u7EDF\u8BED\u8A00\u4E00\u81F4\uFF0C\u5E76\u4E14\u914D\u7F6E\u7C7B\u578B\u4E00\u81F4\u7684\u6A21\u677F\u5BFC\u5165. -asn_no=ASN \ No newline at end of file +asn_no=ASN +query=Query +cfg_operation_log=\u914D\u7F6E\u64E6\u6B27\u6D32\u54E6\u65E5\u5FD7 +function_name=\u64CD\u4F5C\u6A21\u5757 +config_service_statistics=\u914D\u7F6E\u7EDF\u8BA1 +ruleLimitTip=\u6709\u6548\u89C4\u5219\u91CF\u5DF2\u8FBE\u5230\u9650\u5236(%s). +av_protocol_note=\u6CE8\uFF1A\u53EF\u8BC6\u522B\u534F\u8BAE\u5305\u62EC RTSP\u3001RTMP\u3002 +ip_range_in_the_same=IP\u8303\u56F4\u7684\u8D77\u59CBIP\u4E0E\u7EC8\u6B62IP\u5FC5\u987B\u5728\u76F8\u540C\u7F51\u6BB5 +log_to_url=\u8F6CHTTP URL\u914D\u7F6E +source_compile_id=\u914D\u7F6E\u6765\u6E90 \ No newline at end of file diff --git a/src/main/webapp/WEB-INF/views/basics/requestSelectInfo.jsp b/src/main/webapp/WEB-INF/views/basics/requestSelectInfo.jsp index 3c3dad12a..e763dcb5e 100644 --- a/src/main/webapp/WEB-INF/views/basics/requestSelectInfo.jsp +++ b/src/main/webapp/WEB-INF/views/basics/requestSelectInfo.jsp @@ -8,14 +8,12 @@ function changesel(){ }
-
-
- -
- + style="scrolling:auto;z-index:999;position:relative;height: 25px; font-size: 18px; text-align: center; margin-top: 30px;line-height: 30px;"> +
+
+ @@ -84,6 +106,7 @@
+ href="javascript:;"> @@ -175,6 +198,7 @@ + @@ -214,6 +238,7 @@ + @@ -348,5 +373,7 @@ + +<%@include file="/WEB-INF/include/form/multiHttpUrlModal.jsp" %> \ No newline at end of file diff --git a/src/main/webapp/static/global/scripts/common.js b/src/main/webapp/static/global/scripts/common.js index b88cafeb0..0789e4883 100644 --- a/src/main/webapp/static/global/scripts/common.js +++ b/src/main/webapp/static/global/scripts/common.js @@ -36,18 +36,18 @@ $(function(){ $("#contentTable").not(".logTb").find("td").each(function(i){ //获取td当前对象的文本,如果长度大于25; if($(this).text().trim().length>28){ - //给td设置title属性,并且设置td的完整值.给title属性. - var strTitle = $(this).text().trim(); - //解决火狐title不能自动换行 - var count = Math.floor(strTitle.length/64); - for(var i=1;i<=count;i++){ - strTitle=strTitle.substring(0,i*64-1)+"\n"+strTitle.substring(i*64-1); - } + //给td设置title属性,并且设置td的完整值.给title属性. + var strTitle = $(this).text().trim(); + //解决火狐title不能自动换行 + var count = Math.floor(strTitle.length/64); + for(var i=1;i<=count;i++){ + strTitle=strTitle.substring(0,i*64-1)+"\n"+strTitle.substring(i*64-1); + } $(this).attr("title",strTitle); - //获取td的值,进行截取。赋值给text变量保存. - var text=$(this).text().substring(0,25)+"..."; - //重新为td赋值; - $(this).text(text); + //获取td的值,进行截取。赋值给text变量保存. + var text=$(this).text().trim().substring(0,25)+"..."; + //重新为td赋值; + $(this).text(text); } }); @@ -1586,7 +1586,28 @@ var setHexCaseSenstive=function(){ }); } - +var validateEffectiveRuleLimit=function(path,serviceId){ + var flag = true; + $.ajax({ + url: path+"/configure/statistics/getEffectiveCfgNum", + type: "POST", + data:{"serviceId":serviceId}, + async: false, //表单提交前验证是否可提交,所以此参数必须为false + success: function(data) { + if(data.status==0){ + top.$.jBox.closeTip(); + alertx(data.msg); + flag=false; + } + }, + error:function(jqXHR, textStatus, errorThrown){ + top.$.jBox.closeTip(); + alertx(errorThrown); + flag=false; + } + }); + return flag; +} function heightDiv(type){ var hei=document.documentElement.clientHeight; hei=hei-91;
${log.cfgId }