From 1bb113766b912b8e1691a259388cda1e7e4ed197 Mon Sep 17 00:00:00 2001 From: fangshunjian Date: Mon, 20 Aug 2018 22:12:05 +0800 Subject: [PATCH] =?UTF-8?q?1=E3=80=81=E6=96=B0=E5=A2=9E=20http=20redirect&?= =?UTF-8?q?block=20=E6=94=AF=E6=8C=81=E6=96=87=E4=BB=B6=E4=BD=9C=E4=B8=BA?= =?UTF-8?q?=E5=BA=94=E7=AD=94=E5=86=85=E5=AE=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../domain/callback/ProxyFileStrategyCfg.java | 60 +++ src/main/java/com/nis/util/Constants.java | 1 + .../nis/web/controller/BaseController.java | 5 + .../proxy/FileStrategyController.java | 155 +++++++ .../proxy/HttpRedirectPolicyController.java | 8 +- .../configuration/ProxyFileStrategyDao.java | 25 ++ .../configuration/ProxyFileStrategyDao.xml | 294 +++++++++++++ .../configuration/HttpRedirectCfgService.java | 18 +- .../ProxyFileStrategyService.java | 114 +++++ .../resources/messages/message_en.properties | 6 +- .../resources/messages/message_ru.properties | 7 +- .../messages/message_zh_CN.properties | 7 +- .../WEB-INF/views/cfg/actionRegionForm.jsp | 123 +++++- .../cfg/proxy/control/httpRedirectList.jsp | 22 +- .../views/cfg/proxy/fileStrategy/form.jsp | 170 ++++++++ .../views/cfg/proxy/fileStrategy/list.jsp | 395 ++++++++++++++++++ 16 files changed, 1390 insertions(+), 20 deletions(-) create mode 100644 src/main/java/com/nis/domain/callback/ProxyFileStrategyCfg.java create mode 100644 src/main/java/com/nis/web/controller/configuration/proxy/FileStrategyController.java create mode 100644 src/main/java/com/nis/web/dao/configuration/ProxyFileStrategyDao.java create mode 100644 src/main/java/com/nis/web/dao/configuration/ProxyFileStrategyDao.xml create mode 100644 src/main/java/com/nis/web/service/configuration/ProxyFileStrategyService.java create mode 100644 src/main/webapp/WEB-INF/views/cfg/proxy/fileStrategy/form.jsp create mode 100644 src/main/webapp/WEB-INF/views/cfg/proxy/fileStrategy/list.jsp diff --git a/src/main/java/com/nis/domain/callback/ProxyFileStrategyCfg.java b/src/main/java/com/nis/domain/callback/ProxyFileStrategyCfg.java new file mode 100644 index 000000000..f2373a6f3 --- /dev/null +++ b/src/main/java/com/nis/domain/callback/ProxyFileStrategyCfg.java @@ -0,0 +1,60 @@ +package com.nis.domain.callback; + +import com.nis.domain.configuration.BaseCfg; +/** + * http代理文件策略 + * @author nanfang + * + */ +public class ProxyFileStrategyCfg extends BaseCfg { + private static final long serialVersionUID = 4283944377949702481L; + public final static String TABLE_NAME = "PROXY_FILE_STRATEGY_CFG";//对应表名 + private String fileId;//glaxy返回的文件id + private String fileDesc;//文件描述 + private String url;//文件保存的url + private String contentType;//内容类型,如text/html,取字典表contentType + private String md5;//文件md5值 + private Long contentLength;//文件长度 + + public ProxyFileStrategyCfg() { + super(); + } + + public String getFileId() { + return fileId; + } + public void setFileId(String fileId) { + this.fileId = fileId; + } + public String getFileDesc() { + return fileDesc; + } + public void setFileDesc(String fileDesc) { + this.fileDesc = fileDesc; + } + public String getUrl() { + return url; + } + public void setUrl(String url) { + this.url = url; + } + public String getContentType() { + return contentType; + } + public void setContentType(String contentType) { + this.contentType = contentType; + } + public Long getContentLength() { + return contentLength; + } + public void setContentLength(Long contentLength) { + this.contentLength = contentLength; + } + public String getMd5() { + return md5; + } + public void setMd5(String md5) { + this.md5 = md5; + } + +} diff --git a/src/main/java/com/nis/util/Constants.java b/src/main/java/com/nis/util/Constants.java index 79b5a2922..87cb874c2 100644 --- a/src/main/java/com/nis/util/Constants.java +++ b/src/main/java/com/nis/util/Constants.java @@ -478,6 +478,7 @@ public final class Constants { public static final String REDIRECT_RESPONSE_CODE_KEY = Configurations.getStringProperty("redirect_response_code_key","code"); public static final String REDIRECT_URL_KEY = Configurations.getStringProperty("redirect_url_key","url"); public static final String REDIRECT_CONTENT_KEY = Configurations.getStringProperty("redirect_content_key","content"); + public static final String CONTENT_FILE_ID_KEY = Configurations.getStringProperty("content_file_id_key","content_file_id"); public static final String REDIRECT_RESPONSE_CODE_STARTWITH = Configurations.getStringProperty("redirect_response_code_startwith","30"); public static final String REPLACE_ZONE_KEY = Configurations.getStringProperty("replace_zone_key","zone"); public static final String REPLACE_SUBSTITUTE_KEY = Configurations.getStringProperty("replace_substitute_key","substitute"); diff --git a/src/main/java/com/nis/web/controller/BaseController.java b/src/main/java/com/nis/web/controller/BaseController.java index 77677c7ba..20c915a61 100644 --- a/src/main/java/com/nis/web/controller/BaseController.java +++ b/src/main/java/com/nis/web/controller/BaseController.java @@ -81,6 +81,7 @@ import com.nis.web.service.configuration.IpCfgService; import com.nis.web.service.configuration.IpMultiplexPoolCfgService; import com.nis.web.service.configuration.MailCfgService; import com.nis.web.service.configuration.NumCfgService; +import com.nis.web.service.configuration.ProxyFileStrategyService; import com.nis.web.service.configuration.RequestInfoService; import com.nis.web.service.configuration.WebsiteCfgService; import com.nis.web.service.configuration.XmppCfgService; @@ -181,6 +182,10 @@ public class BaseController { protected IpMultiplexPoolCfgService ipMultiplexPoolCfgService; @Autowired protected ConfigureStatisticsService configureStatisticsService; + @Autowired + protected ProxyFileStrategyService proxyFileStrategyService;//代理文件策略service + + /** * 管理基础路径 */ diff --git a/src/main/java/com/nis/web/controller/configuration/proxy/FileStrategyController.java b/src/main/java/com/nis/web/controller/configuration/proxy/FileStrategyController.java new file mode 100644 index 000000000..83553f4a5 --- /dev/null +++ b/src/main/java/com/nis/web/controller/configuration/proxy/FileStrategyController.java @@ -0,0 +1,155 @@ +/** + *@Title: ControlController.java + *@Package com.nis.web.controller.configuration.proxy + *@Description TODO + *@author dell + *@date 2018年6月22日 下午4:35:42 + *@version 版本号 + */ +package com.nis.web.controller.configuration.proxy; + +import java.io.File; +import java.util.Date; +import java.util.HashMap; +import java.util.Map; + +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; + +import org.apache.shiro.authz.annotation.Logical; +import org.apache.shiro.authz.annotation.RequiresPermissions; +import org.springframework.stereotype.Controller; +import org.springframework.ui.Model; +import org.springframework.web.bind.annotation.ModelAttribute; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.multipart.MultipartFile; +import org.springframework.web.servlet.mvc.support.RedirectAttributes; + +import com.google.common.collect.Maps; +import com.nis.domain.Page; +import com.nis.domain.callback.ProxyFileStrategyCfg; +import com.nis.domain.configuration.BaseCfg; +import com.nis.domain.maat.ToMaatResult; +import com.nis.domain.maat.ToMaatResult.ResponseData; +import com.nis.util.ConfigServiceUtil; +import com.nis.util.FileUtils; +import com.nis.util.JsonMapper; +import com.nis.util.StringUtil; +import com.nis.web.controller.configuration.CommonController; + +/** + * @ClassName: ControlController.java + * @Description: TODO + * @author (dell) + * @date 2018年6月22日 下午4:35:42 + * @version V1.0 + */ +@Controller +@RequestMapping("${adminPath}/proxy/fileStrategy") +public class FileStrategyController extends CommonController { + + @RequestMapping(value = {"list"}) + public String fileStrategyList(ProxyFileStrategyCfg cfg,Model model,HttpServletRequest request,HttpServletResponse response) { + Page page = proxyFileStrategyService.findPage(new Page(request, response,"a"), cfg); + model.addAttribute("page", page); + model.addAttribute("cfg", cfg); + initPageCondition(model); + return "/cfg/proxy/fileStrategy/list"; + } + + @RequestMapping(value = {"form"}) + @RequiresPermissions(value={"proxy:fileStrategy:config"}) + public String fileform(Model model,HttpServletRequest request + ,HttpServletResponse response + ,@ModelAttribute("cfg")ProxyFileStrategyCfg cfg + ,String ids + ,RedirectAttributes redirectAttributes) { + if(!StringUtil.isEmpty(ids)){ + cfg = proxyFileStrategyService.getCfgById(Long.valueOf(ids)); + } +// initFormCondition(model); + initFormCondition(model, cfg); + model.addAttribute("_cfg", cfg); + return "/cfg/proxy/fileStrategy/form"; + } + + /** + * 保存 文件 + * 1、将文件上传到 service 接口 + * 2、将文件信息及 1返回的结果 保存到数据库 + * @param model + * @param request + * @param response + * @param cfgFile + * @param cfg + * @param redirectAttributes + * @return + */ + @RequiresPermissions(value={"proxy:fileStrategy:config"}) + @RequestMapping(value = {"saveOrUpdate"}) + public String saveOrUpdate(Model model,HttpServletRequest request + ,HttpServletResponse response,MultipartFile cfgFile, + @ModelAttribute("cfg")ProxyFileStrategyCfg cfg, + RedirectAttributes redirectAttributes){ + File file = null; + try{ + if(cfgFile != null) { + String filename = cfgFile.getOriginalFilename(); + String prefix = FileUtils.getPrefix(filename, false); + String suffix = FileUtils.getSuffix(filename, false); + file = File.createTempFile("file_"+ prefix, suffix); + cfgFile.transferTo(file);//复制文件 + String md5 = FileUtils.getFileMD5(file); + Map srcMap = Maps.newHashMap(); + srcMap.put("filetype", suffix); + srcMap.put("datatype", "dbSystem");//源文件存入数据中心 + srcMap.put("createTime",new Date()); + srcMap.put("key",prefix); + srcMap.put("fileName", filename); + srcMap.put("checksum", md5); + ToMaatResult result = ConfigServiceUtil.postFileCfg(null, file, JsonMapper.toJsonString(srcMap)); + logger.info("http 重定向阻断文件上传响应信息:"+JsonMapper.toJsonString(result)); + String srcAccessUrl = null; + if(!StringUtil.isEmpty(result)){ + ResponseData data = result.getData(); + srcAccessUrl=data.getAccessUrl(); + cfg.setUrl(srcAccessUrl);; + } + cfg.setMd5(md5);//文件md5值 + cfg.setContentLength(file.length());//文件长度 + cfg.setFileId(md5); + } + proxyFileStrategyService.saveOrUpdate(cfg); + addMessage(redirectAttributes,"save_success"); + }catch(Exception e){ + logger.error("信息保存失败",e); + addMessage(redirectAttributes,"save_failed"); + }finally { + if(file != null) { + file.delete();//删除临时文件 + } + } + return "redirect:" + adminPath +"/proxy/fileStrategy/list?functionId="+cfg.getFunctionId(); + } + + @RequestMapping(value = {"delete"}) + @RequiresPermissions(value={"proxy:fileStrategy:config"}) + public String delete(Integer isAudit,Integer isValid, + String ids, + Integer functionId, + RedirectAttributes redirectAttributes){ + proxyFileStrategyService.update(isAudit,isValid,ids,functionId); + return "redirect:" + adminPath +"/proxy/fileStrategy/list?functionId="+functionId; + } + + + @RequestMapping(value = {"audit"}) + @RequiresPermissions(value={"proxy:fileStrategy:confirm"}) + public String audit(Integer isAudit,Integer isValid,String ids + ,Integer functionId, RedirectAttributes redirectAttributes) { + if(!StringUtil.isEmpty(ids)){ + proxyFileStrategyService.audit(isAudit, isValid, functionId, ids); + } + return "redirect:" + adminPath +"/proxy/fileStrategy/list?functionId="+functionId; + } +} diff --git a/src/main/java/com/nis/web/controller/configuration/proxy/HttpRedirectPolicyController.java b/src/main/java/com/nis/web/controller/configuration/proxy/HttpRedirectPolicyController.java index d5e00af03..ce251b69c 100644 --- a/src/main/java/com/nis/web/controller/configuration/proxy/HttpRedirectPolicyController.java +++ b/src/main/java/com/nis/web/controller/configuration/proxy/HttpRedirectPolicyController.java @@ -17,6 +17,7 @@ import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.servlet.mvc.support.RedirectAttributes; import com.nis.domain.Page; +import com.nis.domain.callback.ProxyFileStrategyCfg; import com.nis.domain.configuration.CfgIndexInfo; import com.nis.domain.configuration.HttpBodyCfg; import com.nis.domain.configuration.HttpReqHeadCfg; @@ -42,6 +43,9 @@ public class HttpRedirectPolicyController extends BaseController{ Page page = httpRedirectCfgService.getHttpRedirectList(searchPage, cfg); model.addAttribute("page", page); initPageCondition(model,cfg); + //获取所有的响应文件内容,阻断,或重定向时可以选择 + List allProxyFileStrategys = proxyFileStrategyService.getProxyFileStrategyCfgList(new ProxyFileStrategyCfg()); + model.addAttribute("allProxyFileStrategys", allProxyFileStrategys); return "/cfg/proxy/control/httpRedirectList"; } @RequestMapping(value = {"form"}) @@ -136,8 +140,10 @@ public class HttpRedirectPolicyController extends BaseController{ entity.setIpPortList(ipPortList); initFormCondition(model,entity); } - + //获取所有的响应文件内容,阻断,或重定向时可以选择 + List allProxyFileStrategys = proxyFileStrategyService.getProxyFileStrategyCfgList(new ProxyFileStrategyCfg()); model.addAttribute("_cfg", entity); + model.addAttribute("allProxyFileStrategys", allProxyFileStrategys); return "/cfg/proxy/control/httpRedirectForm"; } diff --git a/src/main/java/com/nis/web/dao/configuration/ProxyFileStrategyDao.java b/src/main/java/com/nis/web/dao/configuration/ProxyFileStrategyDao.java new file mode 100644 index 000000000..a97c17e50 --- /dev/null +++ b/src/main/java/com/nis/web/dao/configuration/ProxyFileStrategyDao.java @@ -0,0 +1,25 @@ +package com.nis.web.dao.configuration; + +import java.util.List; + +import org.apache.ibatis.annotations.Param; + +import com.nis.domain.callback.ProxyFileStrategyCfg; +import com.nis.web.dao.MyBatisDao; + + +/** + * 特定协议相关配置数据处理类 + * @author dell + * + */ +@MyBatisDao +public interface ProxyFileStrategyDao { + + public List findPage(ProxyFileStrategyCfg entity) ; + public ProxyFileStrategyCfg getCfgById(@Param("cfgId")Long cfgId); + public void insert(ProxyFileStrategyCfg entity); + public void update(ProxyFileStrategyCfg entity); + + +} diff --git a/src/main/java/com/nis/web/dao/configuration/ProxyFileStrategyDao.xml b/src/main/java/com/nis/web/dao/configuration/ProxyFileStrategyDao.xml new file mode 100644 index 000000000..93d3dff01 --- /dev/null +++ b/src/main/java/com/nis/web/dao/configuration/ProxyFileStrategyDao.xml @@ -0,0 +1,294 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + a.CFG_ID,a.CFG_DESC,a.ACTION,a.IS_VALID,a.IS_AUDIT, + a.CREATOR_ID,a.CREATE_TIME,a.EDITOR_ID,a.EDIT_TIME,a.AUDITOR_ID,a.AUDIT_TIME, + a.SERVICE_ID,a.REQUEST_ID,a.COMPILE_ID,a.IS_AREA_EFFECTIVE,a.CLASSIFY, + a.ATTRIBUTE,a.LABLE,a.AREA_EFFECTIVE_IDS,a.function_id,a.cfg_type,a.cfg_region_code, + a.FILE_ID,a.FILE_DESC,a.URL,a.CONTENT_TYPE,a.CONTENT_LENGTH,a.MD5 + + + + + + + + + + + insert into proxy_file_strategy_cfg ( + 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, + + file_id, + file_desc, + url, + content_type, + content_length, + md5 + )values ( + #{cfgDesc,jdbcType=VARCHAR}, + #{action,jdbcType=INTEGER}, + 0, + 0, + #{creatorId,jdbcType=INTEGER}, + #{createTime,jdbcType=TIMESTAMP}, + #{editorId,jdbcType=INTEGER}, + #{editTime,jdbcType=TIMESTAMP}, + #{auditorId,jdbcType=INTEGER}, + #{auditTime,jdbcType=TIMESTAMP}, + #{serviceId,jdbcType=INTEGER}, + #{requestId,jdbcType=INTEGER}, + #{compileId,jdbcType=INTEGER}, + #{isAreaEffective,jdbcType=INTEGER}, + #{classify,jdbcType=VARCHAR}, + #{attribute,jdbcType=VARCHAR}, + #{lable,jdbcType=VARCHAR}, + #{areaEffectiveIds,jdbcType=VARCHAR}, + #{functionId,jdbcType=INTEGER}, + #{cfgType,jdbcType=VARCHAR}, + #{cfgRegionCode,jdbcType=INTEGER}, + + #{fileId,jdbcType=VARCHAR}, + #{fileDesc,jdbcType=VARCHAR}, + #{url,jdbcType=VARCHAR}, + #{contentType,jdbcType=VARCHAR}, + #{contentLength,jdbcType=INTEGER}, + #{md5,jdbcType=VARCHAR} + ) + + + + + update proxy_file_strategy_cfg + + + cfg_desc = #{cfgDesc,jdbcType=VARCHAR}, + + + action = #{action,jdbcType=INTEGER}, + + + is_valid = #{isValid,jdbcType=INTEGER}, + + + is_audit = #{isAudit,jdbcType=INTEGER}, + + + creator_id = #{creatorId,jdbcType=INTEGER}, + + + create_time = #{createTime,jdbcType=TIMESTAMP}, + + + editor_id = #{editorId,jdbcType=INTEGER}, + + edit_time = #{editTime,jdbcType=TIMESTAMP}, + + service_id = #{serviceId,jdbcType=INTEGER}, + + + request_id = #{requestId,jdbcType=INTEGER}, + + + is_area_effective = #{isAreaEffective,jdbcType=INTEGER}, + + + classify = #{classify,jdbcType=VARCHAR}, + + + attribute = #{attribute,jdbcType=VARCHAR}, + + + lable = #{lable,jdbcType=VARCHAR}, + + + area_effective_ids = #{areaEffectiveIds,jdbcType=VARCHAR}, + + + function_id = #{functionId,jdbcType=INTEGER}, + + + cfg_region_code = #{cfgRegionCode,jdbcType=INTEGER}, + + + cfg_type = #{cfgType,jdbcType=VARCHAR}, + + + + file_id = #{fileId ,jdbcType=VARCHAR}, + + + file_desc = #{fileDesc ,jdbcType=VARCHAR}, + + + url = #{url ,jdbcType=VARCHAR}, + + + content_type = #{contentType ,jdbcType=VARCHAR}, + + + content_length = #{contentLength ,jdbcType=BIGINT}, + + + md5 = #{md5 ,jdbcType=VARCHAR}, + + + where cfg_id = #{cfgId,jdbcType=BIGINT} + + + + + \ No newline at end of file diff --git a/src/main/java/com/nis/web/service/configuration/HttpRedirectCfgService.java b/src/main/java/com/nis/web/service/configuration/HttpRedirectCfgService.java index feda9f83a..e6b068b5a 100644 --- a/src/main/java/com/nis/web/service/configuration/HttpRedirectCfgService.java +++ b/src/main/java/com/nis/web/service/configuration/HttpRedirectCfgService.java @@ -408,15 +408,25 @@ public class HttpRedirectCfgService extends CrudService findPage(Page page, ProxyFileStrategyCfg entity) { + entity.getSqlMap().put("dsf", configScopeFilter(entity.getCurrentUser(),"a")); + entity.setPage(page); + List list=proxyFileDao.findPage(entity); + page.setList(list); + return page; + } + + public ProxyFileStrategyCfg getCfgById(Long cfgId) { + return proxyFileDao.getCfgById(cfgId); + } + @Transactional(readOnly=false,rollbackFor=RuntimeException.class) + public void saveOrUpdate(ProxyFileStrategyCfg entity){ + Date createTime=new Date(); + //设置区域运营商信息 + setAreaEffectiveIds(entity); + //新增 + if(entity.getCfgId()==null){ + entity.setCreatorId(UserUtils.getUser().getId()); + entity.setCreateTime(createTime); + entity.setIsValid(0); + entity.setIsAudit(0); + + //修改 + proxyFileDao.insert(entity); + }else{ + Date editTime=new Date(); + entity.setIsValid(0); + entity.setIsAudit(0); + entity.setEditorId(UserUtils.getUser().getId()); + entity.setEditTime(editTime); + proxyFileDao.update(entity); + } + } + + @Transactional(readOnly=false,rollbackFor=RuntimeException.class) + public void update(Integer isAudit,Integer isValid,String ids,Integer functionId){ + ProxyFileStrategyCfg entity = new ProxyFileStrategyCfg(); + String[] idArray = ids.split(","); + for(String id :idArray){ + entity.setCfgId(Long.parseLong(id)); + entity.setFunctionId(functionId); + entity.setIsAudit(isAudit); + entity.setIsValid(isValid); + entity.setEditorId(UserUtils.getUser().getId()); + entity.setEditTime(new Date()); + proxyFileDao.update(entity); + } + } + + @Transactional(readOnly=false,rollbackFor=RuntimeException.class) + public void audit(Integer isAudit,Integer isValid,Integer functionId,String id){ + Date auditTime = new Date();//审核时间 + ProxyFileStrategyCfg entity = proxyFileDao.getCfgById(Long.parseLong(id)); + entity.setIsAudit(isAudit); + entity.setIsValid(isValid); + entity.setAuditorId(UserUtils.getUser().getId()); + entity.setAuditTime(auditTime); + proxyFileDao.update(entity); + } + + /** + * 获取所有的 响应文件 策略 + * @return + */ + public List getProxyFileStrategyCfgList(ProxyFileStrategyCfg entity){ + entity.getSqlMap().put("dsf", configScopeFilter(entity.getCurrentUser(),"a")); + List list=proxyFileDao.findPage(entity); + return list; + } + +} diff --git a/src/main/resources/messages/message_en.properties b/src/main/resources/messages/message_en.properties index b9dbebbab..03476781c 100644 --- a/src/main/resources/messages/message_en.properties +++ b/src/main/resources/messages/message_en.properties @@ -1043,4 +1043,8 @@ app_desc=Application Description tunnel_code=Tunnel Behavior No tunnel_name=Tunnel Behavior Name tunnel_desc=Tunnel Behavior Description -call_external_procedures_failed=Call external procedures failed \ No newline at end of file +call_external_procedures_failed=Call external procedures failedfile_strategy=\u6587\u4EF6\u7B56\u7565 +file_desc=File Desc +content_type=Content Type +content_length=Content Length +response_file=Response File \ 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 0dba20953..39e4f7447 100644 --- a/src/main/resources/messages/message_ru.properties +++ b/src/main/resources/messages/message_ru.properties @@ -883,4 +883,9 @@ MM_VOIP_ACCOUNT=VOIP Account drop_ip=IP Drop loop_ip=IP Loop drop_or_loop_ip=IP Drop Or Loop -reject_or_monit_ip=IP Reject Or Monit \ No newline at end of file +reject_or_monit_ip=IP Reject Or Monit + +file_desc=File Desc +content_type=Content Type +content_length=Content Length +response_file=Response File \ 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 4b50bdeee..f11419696 100644 --- a/src/main/resources/messages/message_zh_CN.properties +++ b/src/main/resources/messages/message_zh_CN.properties @@ -1043,4 +1043,9 @@ app_desc=\u793E\u4EA4\u5E94\u7528\u63CF\u8FF0 tunnel_code=\u52A0\u5BC6\u96A7\u9053\u884C\u4E3A\u5E8F\u53F7 tunnel_name=\u52A0\u5BC6\u96A7\u9053\u884C\u4E3A\u540D\u79F0 tunnel_desc=\u52A0\u5BC6\u96A7\u9053\u884C\u4E3A\u63CF\u8FF0 -call_external_procedures_failed=\u8C03\u7528\u5916\u90E8\u7A0B\u5E8F\u51FA\u9519 \ No newline at end of file +call_external_procedures_failed=\u8C03\u7528\u5916\u90E8\u7A0B\u5E8F\u51FA\u9519 +file_strategy=\u6587\u4EF6\u7B56\u7565 +file_desc=\u6587\u4EF6\u63CF\u8FF0 +content_type=\u5185\u5BB9\u7C7B\u578B +content_length=\u6587\u4EF6\u957F\u5EA6 +response_file=\u54CD\u5E94\u6587\u4EF6 \ No newline at end of file diff --git a/src/main/webapp/WEB-INF/views/cfg/actionRegionForm.jsp b/src/main/webapp/WEB-INF/views/cfg/actionRegionForm.jsp index 027450d77..0c7ed1af0 100644 --- a/src/main/webapp/WEB-INF/views/cfg/actionRegionForm.jsp +++ b/src/main/webapp/WEB-INF/views/cfg/actionRegionForm.jsp @@ -32,14 +32,62 @@
- -
- -
+
+ +
+
+ + +
+
@@ -56,7 +104,7 @@
- + +
+
+ + + <%--
-
+ --%>
diff --git a/src/main/webapp/WEB-INF/views/cfg/proxy/control/httpRedirectList.jsp b/src/main/webapp/WEB-INF/views/cfg/proxy/control/httpRedirectList.jsp index 7b2f3b023..0cf843e84 100644 --- a/src/main/webapp/WEB-INF/views/cfg/proxy/control/httpRedirectList.jsp +++ b/src/main/webapp/WEB-INF/views/cfg/proxy/control/httpRedirectList.jsp @@ -559,7 +559,16 @@ - ${indexCfg.userRegion2 } + + ${indexCfg.userRegion2 } + + + + ${file.fileDesc } + + + + @@ -570,7 +579,16 @@ - ${indexCfg.userRegion2 } + + ${indexCfg.userRegion2 } + + + + ${file.fileDesc } + + + + diff --git a/src/main/webapp/WEB-INF/views/cfg/proxy/fileStrategy/form.jsp b/src/main/webapp/WEB-INF/views/cfg/proxy/fileStrategy/form.jsp new file mode 100644 index 000000000..8aad7dd7e --- /dev/null +++ b/src/main/webapp/WEB-INF/views/cfg/proxy/fileStrategy/form.jsp @@ -0,0 +1,170 @@ +<%@ page contentType="text/html;charset=UTF-8"%> +<%@ include file="/WEB-INF/include/taglib.jsp"%> + + +<spring:message code="${cfgName}"></spring:message> + + + + +
+ +

+ +

+ +
+
+
+
+
+ + + + + + + +
+
+
+ +
+ + + +
+
+
+
+ +
+ +
+ " class="required form-control" + style="background-color: transparent" aria-required="true" + type="text" value="${_cfg.url }"> +
+ +
+
+
+
+
+
+
+
+ +
+ +
+
+
+
+
+
+
+
+ +
+ +
+
+
+
+ +
+
+ +
+ + + +
+
+
+
+
+ + <%@include file="/WEB-INF/include/form/basicInfo.jsp"%> +
+
+
+
+
+
+ + +
+
+
+
+
+
+
+ +
+
+
+
+
+ + \ No newline at end of file diff --git a/src/main/webapp/WEB-INF/views/cfg/proxy/fileStrategy/list.jsp b/src/main/webapp/WEB-INF/views/cfg/proxy/fileStrategy/list.jsp new file mode 100644 index 000000000..0c66b5abe --- /dev/null +++ b/src/main/webapp/WEB-INF/views/cfg/proxy/fileStrategy/list.jsp @@ -0,0 +1,395 @@ +<%@ page contentType="text/html;charset=UTF-8"%> +<%@ include file="/WEB-INF/include/taglib.jsp"%> + + +<spring:message code="${cfgName}"></spring:message> + + + + + + +
+ + + +

+ + +

+ +
+
+
+
+ + + + + + + + + + + +
+
+ + + + + + + + +
+ +
+
+
+ + + +
+ +
+
+
+ + + +
+
+ + + + + +
+ + +
+
+ href="javascript:;"> + + +
+
+ + + +
+
+ +
+ +
+ + + + + + + + +
+ +
+ +
+ +
+ + + + + + + +
+ +
+ +
+ +
+ + + + + + + + +
+ +
+ +
+ +
+ + + + + + + +
+ +
+ +
+ +
+
+
+ + +
+
+ +
+
+ + " onclick="WdatePicker({dateFmt:'yyyy-MM-dd HH:mm:ss',isShowClear:true});"/> + +
+
+ +
+
+ + " onclick="WdatePicker({dateFmt:'yyyy-MM-dd HH:mm:ss',isShowClear:true});"/> + +
+
+ +
+
+ + " onclick="WdatePicker({dateFmt:'yyyy-MM-dd HH:mm:ss',isShowClear:true});"/> + +
+
+ +
+
+ + " onclick="WdatePicker({dateFmt:'yyyy-MM-dd HH:mm:ss',isShowClear:true});"/> + +
+
+ +
+
+ + " onclick="WdatePicker({dateFmt:'yyyy-MM-dd HH:mm:ss',isShowClear:true});"/> + +
+
+
+ + +
+ + + + + + + +
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + ${indexCfg.fileDesc }${indexCfg.contentType }${indexCfg.contentLength } + + + + + + ${indexCfg.requestName } + + + + + + + + + + + + + + + ${fns:abbr(classify,20)} + + + + + + + + + + + + + + + + + ${fns:abbr(attribute,20)} + + + + + + + + + + + + + + + + + + ${fns:abbr(lableInfo,20)} + + + + + + + + + + + + + ${indexCfg.creatorName }${indexCfg.editorName }${indexCfg.auditorName }
+
${page}
+
+ +
+
+
+ + + \ No newline at end of file