Merge branch 'develop' of http://10.0.6.99/gwall/gwall.git into develop

Conflicts:
	src/main/resources/messages/message_en.properties
	src/main/resources/messages/message_ru.properties
	src/main/resources/messages/message_zh_CN.properties
策略分组功能提交
This commit is contained in:
duandongmei
2018-06-20 13:37:07 +08:00
38 changed files with 2957 additions and 249 deletions

View File

@@ -0,0 +1,54 @@
package com.nis.domain.basics;
import java.io.Serializable;
import java.util.Date;
import com.nis.domain.configuration.BaseCfg;
import com.nis.domain.configuration.CfgIndexInfo;
/**
* @ClassName: PolicyGroupInfo.java
* @Description: 策略分组
* @version V1.0
*/
public class PolicyGroupInfo extends BaseCfg<PolicyGroupInfo> implements Serializable{
/**
*
*/
private static final long serialVersionUID = 7931466570918016654L;
private Integer groupId;
private String groupName;
private Integer groupType;
public Integer getGroupId() {
return groupId;
}
public void setGroupId(Integer groupId) {
this.groupId = groupId;
}
public String getGroupName() {
return groupName;
}
public void setGroupName(String groupName) {
this.groupName = groupName;
}
public Date getCreateTime() {
return createTime;
}
public void setCreateTime(Date createTime) {
this.createTime = createTime;
}
public Date getEditTime() {
return editTime;
}
public void setEditTime(Date editTime) {
this.editTime = editTime;
}
public Integer getGroupType() {
return groupType;
}
public void setGroupType(Integer groupType) {
this.groupType = groupType;
}
}

View File

@@ -0,0 +1,109 @@
package com.nis.domain.log;
public class NtcDnsLog extends BaseLogEntity<NtcDnsLog> {
private static final long serialVersionUID = -3763888115864065019L;
private Integer qr;
private Integer rd;
private Integer ra;
private String rr;
private Integer qType;
private Integer qClass;
private Integer opCode;
private String qName;
private String cName;
private Integer dnsSub;
/*以下字段无需反馈到界面*/
private String cheatType;
private Integer cheatRcode;
private String cheatStrategy;
private String cheatRr;
public String getCheatType() {
return cheatType;
}
public void setCheatType(String cheatType) {
this.cheatType = cheatType;
}
public Integer getCheatRcode() {
return cheatRcode;
}
public void setCheatRcode(Integer cheatRcode) {
this.cheatRcode = cheatRcode;
}
public String getCheatStrategy() {
return cheatStrategy;
}
public void setCheatStrategy(String cheatStrategy) {
this.cheatStrategy = cheatStrategy;
}
public String getCheatRr() {
return cheatRr;
}
public void setCheatRr(String cheatRr) {
this.cheatRr = cheatRr;
}
public Integer getQr() {
return qr;
}
public void setQr(Integer qr) {
this.qr = qr;
}
public Integer getRd() {
return rd;
}
public void setRd(Integer rd) {
this.rd = rd;
}
public Integer getRa() {
return ra;
}
public void setRa(Integer ra) {
this.ra = ra;
}
public String getRr() {
return rr;
}
public void setRr(String rr) {
this.rr = rr;
}
public Integer getqType() {
return qType;
}
public void setqType(Integer qType) {
this.qType = qType;
}
public Integer getqClass() {
return qClass;
}
public void setqClass(Integer qClass) {
this.qClass = qClass;
}
public Integer getOpCode() {
return opCode;
}
public void setOpCode(Integer opCode) {
this.opCode = opCode;
}
public String getqName() {
return qName;
}
public void setqName(String qName) {
this.qName = qName;
}
public String getcName() {
return cName;
}
public void setcName(String cName) {
this.cName = cName;
}
public Integer getDnsSub() {
return dnsSub;
}
public void setDnsSub(Integer dnsSub) {
this.dnsSub = dnsSub;
}
}

View File

@@ -0,0 +1,137 @@
package com.nis.domain.log;
public class NtcHttpLog extends BaseLogEntity<NtcHttpLog> {
private static final long serialVersionUID = -7697668215327123848L;
private String url;
private String reqHdrFile;
private String reqBodyFile;
private String resHdrFile;
private String resBodyFile;
/*以下字段无需反馈到界面*/
private Integer c2sIsn;
private Integer pxyFlag;
private Integer httpSeq;
private String reqLine;
private String resLine;
private String cookie;
private String refefer;
private String userAgent;
private String userDefineKey;
private String userDefineValue;
private String contentLen;
private String contentType;
private String setCookie;
public String getReqHdrFile() {
return reqHdrFile;
}
public void setReqHdrFile(String reqHdrFile) {
this.reqHdrFile = reqHdrFile;
}
public String getReqBodyFile() {
return reqBodyFile;
}
public void setReqBodyFile(String reqBodyFile) {
this.reqBodyFile = reqBodyFile;
}
public String getResHdrFile() {
return resHdrFile;
}
public void setResHdrFile(String resHdrFile) {
this.resHdrFile = resHdrFile;
}
public String getResBodyFile() {
return resBodyFile;
}
public void setResBodyFile(String resBodyFile) {
this.resBodyFile = resBodyFile;
}
public Integer getPxyFlag() {
return pxyFlag;
}
public void setPxyFlag(Integer pxyFlag) {
this.pxyFlag = pxyFlag;
}
public String getCookie() {
return cookie;
}
public void setCookie(String cookie) {
this.cookie = cookie;
}
public String getRefefer() {
return refefer;
}
public void setRefefer(String refefer) {
this.refefer = refefer;
}
public String getUserAgent() {
return userAgent;
}
public void setUserAgent(String userAgent) {
this.userAgent = userAgent;
}
public String getUserDefineKey() {
return userDefineKey;
}
public void setUserDefineKey(String userDefineKey) {
this.userDefineKey = userDefineKey;
}
public String getUserDefineValue() {
return userDefineValue;
}
public void setUserDefineValue(String userDefineValue) {
this.userDefineValue = userDefineValue;
}
public String getContentLen() {
return contentLen;
}
public void setContentLen(String contentLen) {
this.contentLen = contentLen;
}
public String getContentType() {
return contentType;
}
public void setContentType(String contentType) {
this.contentType = contentType;
}
public String getSetCookie() {
return setCookie;
}
public void setSetCookie(String setCookie) {
this.setCookie = setCookie;
}
public Integer getC2sIsn() {
return c2sIsn;
}
public void setC2sIsn(Integer c2sIsn) {
this.c2sIsn = c2sIsn;
}
public Integer getHttpSeq() {
return httpSeq;
}
public void setHttpSeq(Integer httpSeq) {
this.httpSeq = httpSeq;
}
public String getUrl() {
return url;
}
public void setUrl(String url) {
this.url = url;
}
public String getReqLine() {
return reqLine;
}
public void setReqLine(String reqLine) {
this.reqLine = reqLine;
}
public String getResLine() {
return resLine;
}
public void setResLine(String resLine) {
this.resLine = resLine;
}
}

View File

@@ -0,0 +1,30 @@
package com.nis.domain.log;
public class NtcL2tpLog extends BaseLogEntity<NtcL2tpLog> {
private static final long serialVersionUID = -3547128625966615793L;
private Integer tunnelType;// 通道类型
private Integer encryptMode;// 加密方式
private String chapName; // 用户名称
public String getChapName() {
return chapName;
}
public void setChapName(String chapName) {
this.chapName = chapName;
}
public Integer getTunnelType() {
return tunnelType;
}
public void setTunnelType(Integer tunnelType) {
this.tunnelType = tunnelType;
}
public Integer getEncryptMode() {
return encryptMode;
}
public void setEncryptMode(Integer encryptMode) {
this.encryptMode = encryptMode;
}
}

View File

@@ -0,0 +1,23 @@
package com.nis.domain.log;
public class NtcPptpLog extends BaseLogEntity<NtcPptpLog> {
private static final long serialVersionUID = 6527360739786343374L;
private Integer tunnelType;// 通道类型
private Integer encryptMode;// 加密方式
public Integer getTunnelType() {
return tunnelType;
}
public void setTunnelType(Integer tunnelType) {
this.tunnelType = tunnelType;
}
public Integer getEncryptMode() {
return encryptMode;
}
public void setEncryptMode(Integer encryptMode) {
this.encryptMode = encryptMode;
}
}

View File

@@ -0,0 +1,37 @@
package com.nis.domain.log;
public class NtcSslLog extends BaseLogEntity<NtcSslLog>{
private static final long serialVersionUID = 533266057780162781L;
private String version;// 版本号
private String sni;// SNI
private String san;// SAN
private String ca;// CA
public String getVersion() {
return version;
}
public void setVersion(String version) {
this.version = version;
}
public String getSni() {
return sni;
}
public void setSni(String sni) {
this.sni = sni;
}
public String getSan() {
return san;
}
public void setSan(String san) {
this.san = san;
}
public String getCa() {
return ca;
}
public void setCa(String ca) {
this.ca = ca;
}
}

View File

@@ -9,12 +9,15 @@
package com.nis.util.httpclient; package com.nis.util.httpclient;
import java.io.IOException; import java.io.IOException;
import java.net.SocketTimeoutException;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.HashMap; import java.util.HashMap;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import java.util.Set; import java.util.Set;
import javax.servlet.http.HttpServletRequest;
import org.apache.http.HttpStatus; import org.apache.http.HttpStatus;
import org.apache.http.NameValuePair; import org.apache.http.NameValuePair;
import org.apache.http.client.ClientProtocolException; import org.apache.http.client.ClientProtocolException;
@@ -24,6 +27,7 @@ import org.apache.http.client.methods.CloseableHttpResponse;
import org.apache.http.client.methods.HttpGet; import org.apache.http.client.methods.HttpGet;
import org.apache.http.client.methods.HttpPost; import org.apache.http.client.methods.HttpPost;
import org.apache.http.client.utils.URIBuilder; import org.apache.http.client.utils.URIBuilder;
import org.apache.http.conn.ConnectTimeoutException;
import org.apache.http.impl.client.CloseableHttpClient; import org.apache.http.impl.client.CloseableHttpClient;
import org.apache.http.impl.client.DefaultHttpRequestRetryHandler; import org.apache.http.impl.client.DefaultHttpRequestRetryHandler;
import org.apache.http.impl.client.HttpClients; import org.apache.http.impl.client.HttpClients;
@@ -31,6 +35,9 @@ import org.apache.http.impl.conn.PoolingHttpClientConnectionManager;
import org.apache.http.message.BasicNameValuePair; import org.apache.http.message.BasicNameValuePair;
import org.apache.http.util.EntityUtils; import org.apache.http.util.EntityUtils;
import org.apache.log4j.Logger; import org.apache.log4j.Logger;
import org.springframework.web.servlet.support.RequestContext;
import com.nis.exceptions.MaatConvertException;
/** /**
* @ClassName: HttpClientBean.java * @ClassName: HttpClientBean.java
@@ -118,7 +125,9 @@ public class HttpClientUtil {
* @param params 参数列表 * @param params 参数列表
* @return 查询结果数据json * @return 查询结果数据json
*/ */
public static String getMsg(String destUrl, Map<String, Object> params) { public static String getMsg(String destUrl, Map<String, Object> params, HttpServletRequest req) {
RequestContext requestContext = new RequestContext(req);
CloseableHttpResponse response = null; CloseableHttpResponse response = null;
String result = null; String result = null;
try { try {
@@ -134,10 +143,20 @@ public class HttpClientUtil {
if (status == HttpStatus.SC_OK) { if (status == HttpStatus.SC_OK) {
result = EntityUtils.toString(response.getEntity()); result = EntityUtils.toString(response.getEntity());
logger.debug("获取消息成功,相应内容如下: " + result); logger.debug("获取消息成功,相应内容如下: " + result);
} else {
throw new MaatConvertException(requestContext.getMessage("request_service_failed") + ":" + status);
} }
} catch (SocketTimeoutException e) {
logger.error("获取消息失败 ", e);
throw new MaatConvertException(requestContext.getMessage("request_service_failed") + ":timeout");
} catch (MaatConvertException e) {
throw e;
} catch (ConnectTimeoutException e) {
logger.error("获取消息失败 ", e);
throw new MaatConvertException(requestContext.getMessage("request_service_failed") + ":timeout");
} catch (Exception e) { } catch (Exception e) {
e.printStackTrace(); logger.error("获取消息失败 ", e);
logger.debug("获取消息失败,相应内容如下: " + e); throw new MaatConvertException(requestContext.getMessage("request_service_failed"));
} finally { } finally {
try { try {
if (response != null) { if (response != null) {

View File

@@ -0,0 +1,115 @@
package com.nis.web.controller.basics;
import java.util.Collections;
import java.util.List;
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.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.servlet.mvc.support.RedirectAttributes;
import com.google.common.collect.Lists;
import com.google.common.collect.Maps;
import com.nis.domain.Page;
import com.nis.domain.basics.PolicyGroupInfo;
import com.nis.domain.basics.ServiceDictInfo;
import com.nis.util.ConfigDictUtils;
import com.nis.util.Configurations;
import com.nis.util.StringUtil;
import com.nis.util.StringUtils;
import com.nis.web.controller.BaseController;
/**
* 协议分组
* @author dell
*
*/
@Controller
@RequestMapping(value = "${adminPath}/basics/policyGroup")
public class PolicyGroupController extends BaseController {
//@RequiresPermissions(value={"basics:policyGroup:view"},logical=Logical.OR)
@RequestMapping(value = {"/policyGroupList", ""})
public String policyGroupList(PolicyGroupInfo cfg,HttpServletRequest request, HttpServletResponse response, Model model) {
if(cfg == null)cfg=new PolicyGroupInfo();
Page<PolicyGroupInfo> pageCondition = new Page<PolicyGroupInfo>(request, response,"r");
Page page = policyGroupInfoService.findPolicyGroupInfoList(pageCondition,cfg);
model.addAttribute("cfg", cfg);
model.addAttribute("page", page);
return "/basics/policyGroupList";
}
/**
* 进入添加或修改页面
* @param serviceDictInfo
* @param model
* @return
*/
//@RequiresPermissions(value={"basics:classification:add","basics:attribute:add","basics:label:add","basics:classification:edit","basics:attribute:edit","basics:label:edit","basics:classification:view","basics:attribute:view","basics:label:view"},logical=Logical.OR)
@RequestMapping(value={"/policyGroupForm"})
public String form(String ids,Model model,String doAction) {
PolicyGroupInfo policyGroup=new PolicyGroupInfo();
if(!StringUtil.isEmpty(ids)){
policyGroup=policyGroupInfoService.getById(Integer.parseInt(ids));
}
model.addAttribute("_cfg", policyGroup);
return "/basics/policyGroupForm";
}
/**
* 新增或修改
* @return
*/
//@RequiresPermissions(value={"basics:classification:add","basics:attribute:add","basics:label:add","basics:classification:edit","basics:attribute:edit","basics:label:edit"},logical=Logical.OR)
@RequestMapping(value = "saveOrUpdate")
public String saveOrUpdate(PolicyGroupInfo cfg,Model model, RedirectAttributes redirectAttributes,String itType) {
try {
policyGroupInfoService.saveOrUpdate(cfg);
if(!StringUtil.isEmpty(cfg.getGroupId())){
addMessage(redirectAttributes, "save_success");
}else{
addMessage(redirectAttributes, "update_success");
}
} catch (Exception e) {
e.printStackTrace();
if(!StringUtil.isEmpty(cfg.getGroupId())){
addMessage(redirectAttributes, "save_failed");
}else{
addMessage(redirectAttributes, "update_failed");
}
}
return "redirect:" + adminPath + "/basics/policyGroup/policyGroupList";
}
/**
* 删除
* @return
*/
//@RequiresPermissions(value={"basics:classification:del","basics:attribute:del","basics:label:del"},logical=Logical.OR)
@RequestMapping(value={"delete"})
public String delete(RedirectAttributes redirectAttributes, String ids,int isValid) {
try {
policyGroupInfoService.deldete(ids,isValid);
addMessage(redirectAttributes, "delete_success");
} catch (Exception e) {
e.printStackTrace();
addMessage(redirectAttributes, "delete_failed");
}
return "redirect:" + adminPath + "/basics/policyGroup/policyGroupList";
}
}

View File

@@ -0,0 +1,67 @@
package com.nis.web.controller.log.ntc;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.BeanUtils;
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 com.google.gson.Gson;
import com.google.gson.GsonBuilder;
import com.google.gson.JsonSyntaxException;
import com.google.gson.reflect.TypeToken;
import com.nis.domain.Page;
import com.nis.domain.log.NtcDnsLog;
import com.nis.domain.maat.LogRecvData;
import com.nis.util.Constants;
import com.nis.util.httpclient.HttpClientUtil;
import com.nis.web.controller.BaseController;
@Controller
@RequestMapping("${adminPath}/log/ntc/dns")
public class DnsLogController extends BaseController {
@RequestMapping("list")
public String list(@ModelAttribute("log") NtcDnsLog log, Model model, HttpServletRequest request, HttpServletResponse response) {
try {
Page<NtcDnsLog> page = new Page<NtcDnsLog>(request, response);
Map<String, Object> params = new HashMap<String, Object>();
params.put("pageSize", page.getPageSize());
params.put("pageNo", page.getPageNo());
if (StringUtils.isNotBlank(log.getqName())) {
params.put("searchQName", log.getqName());
}
initLogSearchValue(log, params);
String url = Constants.LOG_BASE_URL + Constants.NTC_DNS_LOG;
String recv = HttpClientUtil.getMsg(url, params, request);
logger.info("查询结果:" + recv);
Gson gson = new GsonBuilder().create();
LogRecvData<NtcDnsLog> fromJson = gson.fromJson(recv, new TypeToken<LogRecvData<NtcDnsLog>>(){}.getType());
if (fromJson.getStatus().intValue() == 200) {
BeanUtils.copyProperties(fromJson.getData(), page);
List<NtcDnsLog> list = page.getList();
for (NtcDnsLog l : list) {
l.setFunctionId(log.getFunctionId());
setLogAction(l);
}
model.addAttribute("page", page);
}
} catch (Exception e) {
logger.error("查询失败", e);
addMessage(model, e.getMessage());
}
return "/log/ntc/dnsList";
}
}

View File

@@ -0,0 +1,67 @@
package com.nis.web.controller.log.ntc;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.BeanUtils;
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 com.google.gson.Gson;
import com.google.gson.GsonBuilder;
import com.google.gson.JsonSyntaxException;
import com.google.gson.reflect.TypeToken;
import com.nis.domain.Page;
import com.nis.domain.log.NtcHttpLog;
import com.nis.domain.maat.LogRecvData;
import com.nis.util.Constants;
import com.nis.util.httpclient.HttpClientUtil;
import com.nis.web.controller.BaseController;
@Controller
@RequestMapping("${adminPath}/log/ntc/http")
public class HttpLogController extends BaseController {
@RequestMapping("list")
public String list(@ModelAttribute("log") NtcHttpLog log, Model model, HttpServletRequest request, HttpServletResponse response) {
try {
Page<NtcHttpLog> page = new Page<NtcHttpLog>(request, response);
Map<String, Object> params = new HashMap<String, Object>();
params.put("pageSize", page.getPageSize());
params.put("pageNo", page.getPageNo());
if (StringUtils.isNotBlank(log.getUrl())) {
params.put("searchUrl", log.getUrl());
}
initLogSearchValue(log, params);
String url = Constants.LOG_BASE_URL + Constants.NTC_HTTP_LOG;
String recv = HttpClientUtil.getMsg(url, params, request);
logger.info("查询结果:" + recv);
Gson gson = new GsonBuilder().create();
LogRecvData<NtcHttpLog> fromJson = gson.fromJson(recv, new TypeToken<LogRecvData<NtcHttpLog>>(){}.getType());
if (fromJson.getStatus().intValue() == 200) {
BeanUtils.copyProperties(fromJson.getData(), page);
List<NtcHttpLog> list = page.getList();
for (NtcHttpLog l : list) {
l.setFunctionId(log.getFunctionId());
setLogAction(l);
}
model.addAttribute("page", page);
}
} catch (Exception e) {
logger.error("查询失败", e);
addMessage(model, e.getMessage());
}
return "/log/ntc/httpList";
}
}

View File

@@ -9,20 +9,22 @@ import java.util.Map;
import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpServletResponse;
import org.apache.commons.lang3.StringUtils;
import org.aspectj.util.FileUtil; import org.aspectj.util.FileUtil;
import org.springframework.beans.BeanUtils; import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Controller; import org.springframework.stereotype.Controller;
import org.springframework.ui.Model; import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.ModelAttribute; import org.springframework.web.bind.annotation.ModelAttribute;
import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import com.google.gson.Gson; import com.google.gson.Gson;
import com.google.gson.GsonBuilder; import com.google.gson.GsonBuilder;
import com.google.gson.JsonSyntaxException;
import com.google.gson.reflect.TypeToken; import com.google.gson.reflect.TypeToken;
import com.nis.domain.Page; import com.nis.domain.Page;
import com.nis.domain.log.NtcIpLog; import com.nis.domain.log.NtcIpLog;
import com.nis.domain.maat.LogRecvData; import com.nis.domain.maat.LogRecvData;
import com.nis.exceptions.MaatConvertException;
import com.nis.util.Constants; import com.nis.util.Constants;
import com.nis.util.httpclient.HttpClientUtil; import com.nis.util.httpclient.HttpClientUtil;
import com.nis.web.controller.BaseController; import com.nis.web.controller.BaseController;
@@ -33,25 +35,53 @@ public class IpLogController extends BaseController {
@RequestMapping("list") @RequestMapping("list")
public String list(@ModelAttribute("log") NtcIpLog log, Model model, HttpServletRequest request, HttpServletResponse response) { public String list(@ModelAttribute("log") NtcIpLog log, Model model, HttpServletRequest request, HttpServletResponse response) {
try {
Page<NtcIpLog> page = new Page<NtcIpLog>(request, response);
Map<String, Object> params = new HashMap<String, Object>();
params.put("pageSize", page.getPageSize());
params.put("pageNo", page.getPageNo());
initLogSearchValue(log, params);
String url = Constants.LOG_BASE_URL + Constants.NTC_IP_LOG;
String recv = HttpClientUtil.getMsg(url, params, request);
logger.info("查询结果:" + recv);
if (StringUtils.isNotBlank(recv)) {
Gson gson = new GsonBuilder().create();
LogRecvData<NtcIpLog> fromJson = gson.fromJson(recv, new TypeToken<LogRecvData<NtcIpLog>>(){}.getType());
if (fromJson.getStatus().intValue() == 200) {
BeanUtils.copyProperties(fromJson.getData(), page);
List<NtcIpLog> list = page.getList();
for (NtcIpLog l : list) {
l.setFunctionId(log.getFunctionId());
setLogAction(l);
}
model.addAttribute("page", page);
}
}
} catch (Exception e) {
logger.error("查询失败", e);
addMessage(model, e.getMessage());
}
return "/log/ntc/ipList";
}
@RequestMapping("testlist")
public String testlist(@ModelAttribute("log") NtcIpLog log, Model model, HttpServletRequest request, HttpServletResponse response) {
Page<NtcIpLog> page = new Page<NtcIpLog>(request, response); Page<NtcIpLog> page = new Page<NtcIpLog>(request, response);
Map<String, Object> params = new HashMap<String, Object>(); Map<String, Object> params = new HashMap<String, Object>();
params.put("pageSize", page.getPageSize()); params.put("pageSize", page.getPageSize());
params.put("pageNo", page.getPageNo()); params.put("pageNo", page.getPageNo());
initLogSearchValue(log, params); initLogSearchValue(log, params);
String url = Constants.LOG_BASE_URL + Constants.NTC_IP_LOG; String url = "http://10.0.6.121:8080/gwall/test/logTest";
String recv = HttpClientUtil.getMsg(url, params);
// try {
// String path = request.getClass().getClassLoader().getResource("").getPath();
// recv = FileUtil.readAsString(new File(path + "com/nis/web/test/logTest.txt"));
// } catch (IOException e) {
// e.printStackTrace();
// }
Gson gson = new GsonBuilder().create();
try { try {
String recv = HttpClientUtil.getMsg(url, params, request);
logger.info("查询结果:" + recv);
Gson gson = new GsonBuilder().create();
LogRecvData<NtcIpLog> fromJson = gson.fromJson(recv, new TypeToken<LogRecvData<NtcIpLog>>(){}.getType()); LogRecvData<NtcIpLog> fromJson = gson.fromJson(recv, new TypeToken<LogRecvData<NtcIpLog>>(){}.getType());
if (fromJson.getStatus().intValue() == 200) { if (fromJson.getStatus().intValue() == 200) {
BeanUtils.copyProperties(fromJson.getData(), page); BeanUtils.copyProperties(fromJson.getData(), page);
@@ -62,16 +92,12 @@ public class IpLogController extends BaseController {
} }
model.addAttribute("page", page); model.addAttribute("page", page);
} }
} catch (JsonSyntaxException e) { } catch (Exception e) {
logger.info("查询失败"); logger.error("查询失败", e);
e.printStackTrace(); addMessage(model, e.getMessage());
} }
return "/log/ntc/ipList"; return "/log/ntc/ipList";
} }
@RequestMapping("form")
public String form() {
return "";
}
} }

View File

@@ -53,7 +53,7 @@ public class IpsecController extends BaseController{
String url = ""; String url = "";
url = Constants.LOG_BASE_URL+Constants.NTC_IPSEC_LOG; url = Constants.LOG_BASE_URL+Constants.NTC_IPSEC_LOG;
String jsonString = HttpClientUtil.getMsg(url,params); String jsonString = HttpClientUtil.getMsg(url,params,request);
Gson gson = new GsonBuilder().create(); Gson gson = new GsonBuilder().create();
//gson泛型支持 //gson泛型支持
@@ -70,8 +70,8 @@ public class IpsecController extends BaseController{
logger.info("查询Ipsec日志成功"); logger.info("查询Ipsec日志成功");
} }
} catch (Exception e) { } catch (Exception e) {
logger.info("查询Ipsec日志失败"); logger.info("查询Ipsec日志失败", e);
e.printStackTrace(); addMessage(model, e.getMessage());
} }
return "/log/ntc/ipsecList"; return "/log/ntc/ipsecList";
} }

View File

@@ -0,0 +1,65 @@
package com.nis.web.controller.log.ntc;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.springframework.beans.BeanUtils;
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 com.google.gson.Gson;
import com.google.gson.GsonBuilder;
import com.google.gson.JsonSyntaxException;
import com.google.gson.reflect.TypeToken;
import com.nis.domain.Page;
import com.nis.domain.log.NtcL2tpLog;
import com.nis.domain.maat.LogRecvData;
import com.nis.util.Constants;
import com.nis.util.httpclient.HttpClientUtil;
import com.nis.web.controller.BaseController;
@Controller
@RequestMapping("${adminPath}/log/ntc/l2tpLogs")
public class L2tpLogController extends BaseController {
@RequestMapping(value = {"/list"})
public String list(HttpServletRequest request, HttpServletResponse response, Model model, @ModelAttribute("log")NtcL2tpLog ntcL2tpLog) {
Page<NtcL2tpLog> page = new Page<NtcL2tpLog>(request,response);
Map<String, Object> params = new HashMap<String,Object>();
params.put("pageSize", page.getPageSize());
params.put("pageNo", page.getPageNo());
// 请求参数判断
initLogSearchValue(ntcL2tpLog, params);
try {
// 请求接口
String url = Constants.LOG_BASE_URL + Constants.NTC_L2TP_LOG;
String resJson = HttpClientUtil.getMsg(url, params, request);
Gson gson = new GsonBuilder().create();
LogRecvData<NtcL2tpLog> fromJson = gson.fromJson(resJson, new TypeToken<LogRecvData<NtcL2tpLog>>() {}.getType());
if(fromJson.getStatus().intValue() == 200) {
Page<NtcL2tpLog> fromPage = fromJson.getData();
BeanUtils.copyProperties(fromPage, page);
List<NtcL2tpLog> list = fromPage.getList();
for (NtcL2tpLog log : list) {
log.setFunctionId(ntcL2tpLog.getFunctionId());
setLogAction(log);
}
model.addAttribute("page", page);
}
} catch (Exception e) {
logger.info("L2TP日志查询失败", e);
addMessage(model, e.getMessage());
}
return "/log/ntc/l2tpLogList";
}
}

View File

@@ -53,7 +53,7 @@ public class OpenVpnController extends BaseController{
String url = ""; String url = "";
url = Constants.LOG_BASE_URL+Constants.NTC_OPENVPN_LOG; url = Constants.LOG_BASE_URL+Constants.NTC_OPENVPN_LOG;
String jsonString = HttpClientUtil.getMsg(url,params); String jsonString = HttpClientUtil.getMsg(url,params,request);
Gson gson = new GsonBuilder().create(); Gson gson = new GsonBuilder().create();
//gson泛型支持 //gson泛型支持
@@ -70,8 +70,8 @@ public class OpenVpnController extends BaseController{
logger.info("查询OpenVpn日志成功"); logger.info("查询OpenVpn日志成功");
} }
} catch (Exception e) { } catch (Exception e) {
logger.info("查询OpenVpn日志失败"); logger.info("查询OpenVpn日志失败", e);
e.printStackTrace(); addMessage(model, e.getMessage());
} }
return "/log/ntc/openVpnList"; return "/log/ntc/openVpnList";
} }

View File

@@ -0,0 +1,65 @@
package com.nis.web.controller.log.ntc;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.springframework.beans.BeanUtils;
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 com.google.gson.Gson;
import com.google.gson.GsonBuilder;
import com.google.gson.JsonSyntaxException;
import com.google.gson.reflect.TypeToken;
import com.nis.domain.Page;
import com.nis.domain.log.NtcPptpLog;
import com.nis.domain.maat.LogRecvData;
import com.nis.util.Constants;
import com.nis.util.httpclient.HttpClientUtil;
import com.nis.web.controller.BaseController;
@Controller
@RequestMapping("${adminPath}/log/ntc/pptpLogs")
public class PptpLogController extends BaseController {
@RequestMapping(value = {"/list"})
public String list(HttpServletRequest request, HttpServletResponse response, Model model, @ModelAttribute("log")NtcPptpLog ntcPptpLog) {
Page<NtcPptpLog> page = new Page<NtcPptpLog>(request,response);
Map<String, Object> params = new HashMap<String,Object>();
params.put("pageSize", page.getPageSize());
params.put("pageNo", page.getPageNo());
// 请求参数判断
initLogSearchValue(ntcPptpLog, params);
try {
// 请求接口
String url = Constants.LOG_BASE_URL + Constants.NTC_PPTP_LOG;
String resJson = HttpClientUtil.getMsg(url, params, request);
Gson gson = new GsonBuilder().create();
LogRecvData<NtcPptpLog> fromJson = gson.fromJson(resJson, new TypeToken<LogRecvData<NtcPptpLog>>() {}.getType());
if(fromJson.getStatus().intValue() == 200) {
Page<NtcPptpLog> fromPage = fromJson.getData();
BeanUtils.copyProperties(fromPage, page);
List<NtcPptpLog> list = fromPage.getList();
for (NtcPptpLog log : list) {
log.setFunctionId(ntcPptpLog.getFunctionId());
setLogAction(log);
}
model.addAttribute("page", page);
}
} catch (JsonSyntaxException e) {
logger.info("PPTP日志查询失败", e);
addMessage(model, e.getMessage());
}
return "/log/ntc/pptpLogList";
}
}

View File

@@ -53,7 +53,7 @@ public class SshController extends BaseController{
String url = ""; String url = "";
url = Constants.LOG_BASE_URL+Constants.NTC_SSH_LOG; url = Constants.LOG_BASE_URL+Constants.NTC_SSH_LOG;
String jsonString = HttpClientUtil.getMsg(url,params); String jsonString = HttpClientUtil.getMsg(url,params,request);
Gson gson = new GsonBuilder().create(); Gson gson = new GsonBuilder().create();
//gson泛型支持 //gson泛型支持
@@ -70,8 +70,8 @@ public class SshController extends BaseController{
logger.info("查询Ssh日志成功"); logger.info("查询Ssh日志成功");
} }
} catch (Exception e) { } catch (Exception e) {
logger.info("查询Ssh日志失败"); logger.info("查询Ssh日志失败", e);
e.printStackTrace(); addMessage(model, e.getMessage());
} }
return "/log/ntc/sshList"; return "/log/ntc/sshList";
} }

View File

@@ -0,0 +1,68 @@
package com.nis.web.controller.log.ntc;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.springframework.beans.BeanUtils;
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 com.google.gson.Gson;
import com.google.gson.GsonBuilder;
import com.google.gson.JsonSyntaxException;
import com.google.gson.reflect.TypeToken;
import com.nis.domain.Page;
import com.nis.domain.log.NtcSslLog;
import com.nis.domain.maat.LogRecvData;
import com.nis.util.Constants;
import com.nis.util.StringUtils;
import com.nis.util.httpclient.HttpClientUtil;
import com.nis.web.controller.BaseController;
@Controller
@RequestMapping("${adminPath}/log/ntc/sslLogs")
public class SslLogController extends BaseController {
@RequestMapping(value = {"/list"})
public String list(HttpServletRequest request, HttpServletResponse response, Model model, @ModelAttribute("log")NtcSslLog ntcSslLog) {
Page<NtcSslLog> page = new Page<NtcSslLog>(request,response);
Map<String, Object> params = new HashMap<String,Object>();
params.put("pageSize", page.getPageSize());
params.put("pageNo", page.getPageNo());
// 请求参数判断
initLogSearchValue(ntcSslLog, params);
if(StringUtils.isNotBlank(ntcSslLog.getSni())) {
params.put("SearchSni", ntcSslLog.getSni());
}
try {
// 请求接口
String url = Constants.LOG_BASE_URL + Constants.NTC_SSL_LOG;
String resJson = HttpClientUtil.getMsg(url, params, request);
Gson gson = new GsonBuilder().create();
LogRecvData<NtcSslLog> fromJson = gson.fromJson(resJson, new TypeToken<LogRecvData<NtcSslLog>>() {}.getType());
if(fromJson.getStatus().intValue() == 200) {
Page<NtcSslLog> fromPage = fromJson.getData();
BeanUtils.copyProperties(fromPage, page);
List<NtcSslLog> list = fromPage.getList();
for (NtcSslLog log : list) {
log.setFunctionId(ntcSslLog.getFunctionId());
setLogAction(log);
}
model.addAttribute("page", page);
}
} catch (Exception e) {
logger.info("SSL日志查询失败", e);
addMessage(model, e.getMessage());
}
return "/log/ntc/sslLogList";
}
}

View File

@@ -0,0 +1,15 @@
package com.nis.web.dao.basics;
import java.util.List;
import com.nis.domain.basics.PolicyGroupInfo;
import com.nis.web.dao.CrudDao;
import com.nis.web.dao.MyBatisDao;
@MyBatisDao
public interface PolicyGroupInfoDao extends CrudDao<PolicyGroupInfo> {
List<PolicyGroupInfo> findPolicyGroupInfoList(PolicyGroupInfo policyGroupInfo);
PolicyGroupInfo getById(int id);
}

View File

@@ -0,0 +1,110 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
<mapper namespace="com.nis.web.dao.basics.PolicyGroupInfoDao" >
<resultMap id="PolicyGroupInfoMap" type="com.nis.domain.basics.PolicyGroupInfo" >
<id column="group_id" property="groupId" jdbcType="INTEGER" />
<result column="group_name" property="groupName" jdbcType="VARCHAR" />
<result column="group_type" property="groupType" jdbcType="INTEGER" />
<result column="is_valid" property="isValid" jdbcType="INTEGER" />
<result column="create_time" property="createTime" jdbcType="TIMESTAMP" />
<result column="edit_time" property="editTime" jdbcType="TIMESTAMP" />
<result column="creator_id" property="creatorId" jdbcType="INTEGER" />
<result column="editor_id" property="editorId" jdbcType="INTEGER" />
</resultMap>
<sql id="PolicyGroupInfoColumns">
r.group_id,r.group_name,r.group_type,r.is_valid,
r.create_time,r.edit_time,r.creator_id,r.editor_id
</sql>
<!-- 查出所有 有效数据-->
<select id="findPolicyGroupInfoList" resultMap="PolicyGroupInfoMap">
SELECT
<include refid="PolicyGroupInfoColumns"/>
<trim prefix="," prefixOverrides=",">
, s.name as creator_name
,e.name as editor_name
</trim>
FROM policy_group_info r
left join sys_user s on r.creator_id=s.id
left join sys_user e on r.editor_id=e.id
<trim prefix="WHERE" prefixOverrides="AND |OR ">
<if test="page !=null and page.where != null and page.where != ''">
AND ${page.where}
</if>
<if test="groupName != null and groupName != ''">
AND r.group_name like concat(concat('%',#{groupName,jdbcType=VARCHAR}),'%')
</if>
<if test="groupType != null">
AND r.group_type =#{groupType }
</if>
AND r.IS_VALID =1
<if test="creatorName != null and creatorName != ''">
AND CREATOR_NAME like concat(concat('%',#{creatorName,jdbcType=VARCHAR}),'%')
</if>
<if test="editorName != null and editorName != ''">
AND r.EDITOR_NAME like concat(concat('%',#{editorName,jdbcType=VARCHAR}),'%')
</if>
<!-- 数据范围过滤 -->
${sqlMap.dsf}
</trim>
<choose>
<when test="page !=null and page.orderBy != null and page.orderBy != ''">
ORDER BY ${page.orderBy}
</when>
<otherwise>
ORDER BY r.group_id desc
</otherwise>
</choose>
</select>
<insert id="insert" parameterType="com.nis.domain.basics.PolicyGroupInfo" >
insert into policy_group_info(
IS_VALID,
CREATOR_ID,
CREATE_TIME,
GROUP_NAME,
GROUP_TYPE
)values (
1,
#{creatorId,jdbcType=INTEGER},
#{createTime,jdbcType=TIMESTAMP},
#{groupName,jdbcType=VARCHAR},
#{groupType,jdbcType=INTEGER}
)
</insert>
<update id="update" parameterType="com.nis.domain.basics.PolicyGroupInfo" >
update policy_group_info
<set >
<trim suffixOverrides=",">
<if test="groupName != null and groupName != ''" >
group_name = #{groupName,jdbcType=VARCHAR},
</if>
<if test="groupType != null" >
group_type = #{groupType,jdbcType=INTEGER},
</if>
<if test="isValid != null" >
is_valid = #{isValid,jdbcType=INTEGER},
</if>
<if test="editorId != null" >
editor_id = #{editorId,jdbcType=INTEGER},
</if>
<if test="editTime != null and editTime != ''" >
edit_time = #{editTime,jdbcType=TIMESTAMP},
</if>
</trim>
</set>
<where>
<if test="groupId != null" >
and group_id = #{groupId,jdbcType=INTEGER}
</if>
</where>
</update>
<select id="getById" resultType="com.nis.domain.basics.PolicyGroupInfo">
select <include refid="PolicyGroupInfoColumns"/>
from policy_group_info r
where r.group_id =#{groupId}
</select>
</mapper>

View File

@@ -0,0 +1,83 @@
package com.nis.web.service.basics;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import com.nis.domain.Page;
import com.nis.domain.basics.PolicyGroupInfo;
import com.nis.domain.configuration.AreaIpCfg;
import com.nis.domain.configuration.AvVoipAccountCfg;
import com.nis.domain.configuration.AvVoipIpCfg;
import com.nis.domain.configuration.CfgIndexInfo;
import com.nis.exceptions.MaatConvertException;
import com.nis.util.ConfigServiceUtil;
import com.nis.util.StringUtil;
import com.nis.web.dao.basics.PolicyGroupInfoDao;
import com.nis.web.security.UserUtils;
import com.nis.web.service.BaseService;
@Service
public class PolicyGroupInfoService extends BaseService{
@Autowired
private PolicyGroupInfoDao policyGroupInfoDao;
/**
* @param page
* @param entity
* @return
*/
public Page<PolicyGroupInfo> findPolicyGroupInfoList(Page<PolicyGroupInfo> page, PolicyGroupInfo entity) {
entity.getSqlMap().put("dsf", configScopeFilter(entity.getCurrentUser(),"r"));
entity.setPage(page);
List<PolicyGroupInfo> list=policyGroupInfoDao.findPolicyGroupInfoList(entity);
page.setList(list);
return page;
}
public PolicyGroupInfo getById(int id) {
PolicyGroupInfo policyGroupInfo=policyGroupInfoDao.getById(id);
return policyGroupInfo;
}
@Transactional(readOnly=false,rollbackFor=RuntimeException.class)
public void saveOrUpdate(PolicyGroupInfo entity){
entity.setIsValid(1);
//新增
if(entity.getGroupId()==null){
Date createTime=new Date();
entity.setCreatorId(UserUtils.getUser().getId());
entity.setCreateTime(createTime);
policyGroupInfoDao.insert(entity);
//修改
}else{
Date editTime=new Date();
entity.setEditorId(UserUtils.getUser().getId());
entity.setEditTime(editTime);
policyGroupInfoDao.update(entity);
}
}
@Transactional(readOnly=false,rollbackFor=RuntimeException.class)
public void deldete(String ids, int isValid){
PolicyGroupInfo entity=new PolicyGroupInfo();
Date editTime=new Date();
entity.setEditorId(UserUtils.getUser().getId());
entity.setEditTime(editTime);
entity.setIsValid(isValid);
if(!StringUtil.isEmpty(ids)){
for (String id : ids.split(",")) {
if(!StringUtil.isEmpty(id)){
entity.setGroupId(Integer.parseInt(id));
policyGroupInfoDao.update(entity);
}
}
}
}
}

View File

@@ -3,7 +3,12 @@ package com.nis.web.test;
import java.io.File; import java.io.File;
import java.io.IOException; import java.io.IOException;
import javax.servlet.http.HttpServletRequest;
import org.aspectj.util.FileUtil; import org.aspectj.util.FileUtil;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import com.google.gson.Gson; import com.google.gson.Gson;
import com.google.gson.GsonBuilder; import com.google.gson.GsonBuilder;
@@ -12,8 +17,28 @@ import com.nis.domain.Page;
import com.nis.domain.log.NtcIpLog; import com.nis.domain.log.NtcIpLog;
import com.nis.domain.maat.LogRecvData; import com.nis.domain.maat.LogRecvData;
@Controller
@RequestMapping("test")
public class LogTest { public class LogTest {
@ResponseBody
@RequestMapping("logTest")
public String testservice(HttpServletRequest request) {
String recv = "";
try {
String path = request.getClass().getClassLoader().getResource("").getPath();
recv = FileUtil.readAsString(new File(path + "com/nis/web/test/logTest.txt"));
} catch (IOException e) {
e.printStackTrace();
}
try {
Thread.sleep(61000);
} catch (InterruptedException e) {
e.printStackTrace();
}
return "";
}
public static void main(String[] args) throws IOException { public static void main(String[] args) throws IOException {
String readAsString = FileUtil.readAsString(new File("d:/test/logTest.txt")); String readAsString = FileUtil.readAsString(new File("d:/test/logTest.txt"));

View File

@@ -22,7 +22,7 @@
"serverPort":"8080", "serverPort":"8080",
"clientPort":"8080", "clientPort":"8080",
"serviceType":10, "serviceType":10,
"entranceId":112, "entranceId":21,
"deviceId":2, "deviceId":2,
"direction":1, "direction":1,
"streamType":0, "streamType":0,

View File

@@ -658,6 +658,7 @@ data_tunnel=data tunnel
contrl_message=contrl message contrl_message=contrl message
data_message=data message data_message=data message
user_name=user name user_name=user name
<<<<<<< HEAD
#===========log end ============= #===========log end =============
#===========policy_group_manage start ============= #===========policy_group_manage start =============
all_types=all types all_types=all types
@@ -665,3 +666,6 @@ group_type=group type
group_name=group name group_name=group name
policy_group_manage=strateagy grouping management policy_group_manage=strateagy grouping management
#===========policy_group_manage end ============= #===========policy_group_manage end =============
=======
#===========log end =============
>>>>>>> branch 'develop' of http://10.0.6.99/gwall/gwall.git

View File

@@ -484,6 +484,7 @@ data_tunnel=data tunnel
contrl_message=contrl message contrl_message=contrl message
data_message=data message data_message=data message
user_name=user name user_name=user name
<<<<<<< HEAD
#===========log end ============= #===========log end =============
#===========policy_group_manage start ============= #===========policy_group_manage start =============
all_types=all types all_types=all types
@@ -491,3 +492,6 @@ group_type=group type
group_name=group name group_name=group name
policy_group_manage=strateagy grouping management policy_group_manage=strateagy grouping management
#===========policy_group_manage end ============= #===========policy_group_manage end =============
=======
#===========log end =============
>>>>>>> branch 'develop' of http://10.0.6.99/gwall/gwall.git

View File

@@ -606,13 +606,21 @@ action_loop=\u56DE\u6D41
action_forward=\u8F6C\u53D1 action_forward=\u8F6C\u53D1
action_ratelimit=\u9650\u901F action_ratelimit=\u9650\u901F
action_replace=\u66FF\u6362 action_replace=\u66FF\u6362
<<<<<<< HEAD
action_whitelist=\u767D\u540D\u5355 action_whitelist=\u767D\u540D\u5355
=======
action_whitelist=\u767D\u540D\u5355
>>>>>>> branch 'develop' of http://10.0.6.99/gwall/gwall.git
action_monit=\u76D1\u6D4B action_monit=\u76D1\u6D4B
file_digest_control=\u6587\u4EF6\u6458\u8981\u7BA1\u63A7 file_digest_control=\u6587\u4EF6\u6458\u8981\u7BA1\u63A7
bgp_control=BGP\u7BA1\u63A7 bgp_control=BGP\u7BA1\u63A7
bgp_ip=bgp Ip bgp_ip=bgp Ip
xmpp_control=XMPP\u7BA1\u63A7 xmpp_control=XMPP\u7BA1\u63A7
<<<<<<< HEAD
xmpp_ip=xmpp Ip xmpp_ip=xmpp Ip
=======
xmpp_ip=xmpp Ip
>>>>>>> branch 'develop' of http://10.0.6.99/gwall/gwall.git
#===============protocol IP Import start================= #===============protocol IP Import start=================
chooseFile=\u9009\u62E9\u6587\u4EF6 chooseFile=\u9009\u62E9\u6587\u4EF6
download=\u6A21\u677F\u4E0B\u8F7D download=\u6A21\u677F\u4E0B\u8F7D
@@ -685,6 +693,7 @@ data_tunnel=\u6570\u636E\u901A\u9053
contrl_message=\u63A7\u5236\u62A5\u6587 contrl_message=\u63A7\u5236\u62A5\u6587
data_message=\u6570\u636E\u62A5\u6587 data_message=\u6570\u636E\u62A5\u6587
user_name=\u7528\u6237\u540D\u79F0 user_name=\u7528\u6237\u540D\u79F0
<<<<<<< HEAD
#===========log end ============= #===========log end =============
#===========policy_group_manage start ============= #===========policy_group_manage start =============
all_types=\u6240\u6709\u7C7B\u578B all_types=\u6240\u6709\u7C7B\u578B
@@ -692,3 +701,6 @@ group_type=\u5206\u7EC4\u7C7B\u578B
group_name=\u5206\u7EC4\u540D\u79F0 group_name=\u5206\u7EC4\u540D\u79F0
policy_group_manage=\u7B56\u7565\u5206\u7EC4\u7BA1\u7406 policy_group_manage=\u7B56\u7565\u5206\u7EC4\u7BA1\u7406
#===========policy_group_manage end ============= #===========policy_group_manage end =============
=======
#===========log end =============
>>>>>>> branch 'develop' of http://10.0.6.99/gwall/gwall.git

View File

@@ -0,0 +1,98 @@
<%@ page contentType="text/html;charset=UTF-8"%>
<%@ include file="/WEB-INF/include/taglib.jsp"%>
<html>
<head>
<title><spring:message code="${cfgName}"></spring:message></title>
<script type="text/javascript">
$(function(){
$("#cancel").on("click",function(){
window.history.back();
});
$(".action").on("change", function() {
$("#serviceId").val($(this).attr("serviceId"));
});
$("#cfgFrom").validate({
errorPlacement: function(error,element){
if($(element).parents().hasClass("tagsinput")){
$(element).parents(".col-md-6").next("div").append(error);
}else{
$(element).parents(".form-group").find("div[for='"+element.attr("name")+"']").append(error);
}
},
submitHandler: function(form){
form.submit();
},
errorContainer: "#messageBox",
});
});
</script>
</head>
<body>
<div class="page-content">
<%-- <h3 class="page-title">
<spring:message code="${add}"></spring:message>
</h3> --%>
<div class="row">
<div class="col-md-12">
<div class="portlet box blue">
<div class="portlet-title">
<div class="caption">
<i class="fa fa-gift"></i>
<c:if test="${empty _cfg.groupId}"><spring:message code="add"></spring:message></c:if>
<c:if test="${not empty _cfg.groupId}"><spring:message code="edit"></spring:message></c:if>
</div>
</div>
<div class="portlet-body form">
<!-- BEGIN FORM-->
<form id="cfgFrom" action="${ctx}/basics/policyGroup/saveOrUpdate" method="post" class="form-horizontal">
<input type="hidden" name="groupId" value="${_cfg.groupId}">
<div class="form-body">
<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="group_name"/></label>
<div class="col-md-6">
<input class="form-control required" type="text" name="groupName" value="${_cfg.groupName}">
</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="group_type"/></label>
<div class="col-md-6">
<select name="groupType" class="selectpicker select2 form-control required" >
<c:forEach items="${fns:getDictList('GROUP_TYPE')}" var="groupTypeC">
<option value="${groupTypeC.itemCode}" <c:if test="${_cfg.groupType==groupTypeC.itemCode || (_cfg.groupType==null && groupTypeC.itemCode==1)}">selected</c:if>><spring:message code="${groupTypeC.itemValue}"/></option>
</c:forEach>
</select>
</div>
<div for="action"></div>
</div>
</div>
</div>
</div>
<div class="form-actions">
<div class="row">
<div class="col-md-6">
<div class="row">
<div class="col-md-offset-3 col-md-8">
<button id="save" type="submit" class="btn green"><spring:message code="submit"/></button>
<button id="cancel" type="button" class="btn default"><spring:message code="cancel"/></button>
</div>
</div>
</div>
<div class="col-md-6"> </div>
</div>
</div>
</form>
<!-- END FORM-->
</div>
</div>
</div>
</div>
</div>
</body>
</html>

View File

@@ -0,0 +1,220 @@
<%@ page contentType="text/html;charset=UTF-8"%>
<%@ include file="/WEB-INF/include/taglib.jsp"%>
<html>
<head>
<title><spring:message code="${cfgName}"></spring:message></title>
<script>
$(document).ready(function() {
//搜索框提示语初始化
if("${cfg.groupName}"){
$("#intype").val("${cfg.groupName}");
}else{
$("#intype").attr("placeholder","<spring:message code='input'/> "+$("#seltype").find("option:selected").text());
}
$("#seltype").change(function(){
$("#intype").attr("placeholder","<spring:message code='input'/> "+$(this).find("option:selected").text());
});
$("select[name='groupType']").change(function(){
$("#searchForm").submit();
});
//筛选功能初始化
filterActionInit();
//reset
$("#resetBtn").on("click",function(){
$("select.selectpicker").each(function(){
$(this).selectpicker('val',$(this).find('option:first').val());
$(this).find("option").attr("selected",false);
$(this).find("option:first").attr("selected",true);
});
$(".Wdate").attr("value",'');
$("#searchForm")[0].reset();
});
});
function deletes(url){
var checkboxes=$("tbody tr td input.i-checks:checkbox");
var ids="";
var str="";
checkboxes.each(function(){
if(true == $(this).is(':checked')){
str+=$(this).attr("id")+",";
}
});
if(str.substr(str.length-1)== ','){
ids = str.substr(0,str.length-1);
}
window.location = url+"&ids="+ids;
}
</script>
</head>
<body>
<div class="page-content">
<div class="theme-panel hidden-xs hidden-sm">
<!--<shiro:hasPermission name="avContUrl:config">-->
<button type="button" class="btn btn-primary"
onClick="javascript:window.location='${ctx}/basics/policyGroup/policyGroupForm'">
<i class="fa fa-plus"></i>
<spring:message code="add"></spring:message></button>
<!--</shiro:hasPermission>-->
</div>
<h3 class="page-title">
<small><spring:message code="date_list"/></small>
</h3>
<h5 class="page-header"></h5>
<div class="row">
<div class="col-md-12">
<div class="portlet">
<div class="portlet-body">
<div class="row" >
<form:form id="searchForm" modelAttribute="cfg" action="${ctx}/basics/policyGroup/policyGroupList" method="post" class="form-search">
<input id="pageNo" name="pageNo" type="hidden" value="${page.pageNo}"/>
<input id="pageSize" name="pageSize" type="hidden" value="${page.pageSize}"/>
<sys:tableSort id="orderBy" name="orderBy" value="${page.orderBy}"
callback="page();" />
<!-- 筛选按钮展开状态-->
<input id="isFilterAction" name="isFilterAction" type="hidden" value="${cfg.isFilterAction }"/>
<!-- 搜索内容与操作按钮栏 -->
<div class="col-md-12">
<div class="pull-left">
<spring:message code='group_type'/>
<select name="groupType" class="selectpicker select2 input-small">
<option value=""><spring:message code="all_types"/></option>
<c:forEach items="${fns:getDictList('GROUP_TYPE')}" var="groupTypeC">
<option value="${groupTypeC.itemCode}"
<c:if test="${cfg.groupType==groupTypeC.itemCode}">
selected
</c:if>
>
<spring:message code="${groupTypeC.itemValue}"/>
</option>
</c:forEach>
</select>
</div>
<div class="pull-left">
<div class="input-group">
<div class="input-group-btn">
<form:select path="seltype" class="selectpicker select2 input-small" >
<form:option value="groupName"><spring:message code="group_name"></spring:message></form:option>
</form:select>
</div>
<input id="intype" class="form-control input-medium" type="text" value="">
</div>
</div>
<div class="pull-left">
<button type="button" class="btn blue" onClick="return page()"> <i class="fa fa-search"></i> <spring:message code="search"/> </button>
<button type="button" class="btn btn-default" id="resetBtn"> <i class="fa fa-refresh"></i> <spring:message code="reset"/> </button>
<button type="button" class="btn btn-default" id="filter-btn"> <spring:message code="filter"/> <i class="fa fa-angle-double-down"></i></button>
</div>
<div class="pull-right">
<!--<shiro:hasPermission name="avContUrl:config">-->
<sys:delRow url="${ctx}/basics/policyGroup/policyGroupForm" id="contentTable" label="update"></sys:delRow>
<a href="javascript:void(0);" class="btn btn-default" onclick="deletes('${ctx}/basics/policyGroup/delete?isValid=0')" data-toggle="tooltip" data-placement="top">
<i class="fa fa-trash"> <spring:message code="delete"/></i>
</a>
<!--</shiro:hasPermission>-->
<a class="btn btn-icon-only btn-default setfields tooltips"
data-container="body" data-placement="top" data-original-title=<spring:message code="custom_columns"/> href="javascript:;">
<i class="icon-wrench"></i>
</a>
</div>
</div>
<!-- /搜索内容与操作按钮栏 -->
<!-- 筛选搜索内容栏默认隐藏-->
<div class="col-md-12 filter-action-select-panle hide" >
<div class="row">
<div class="col-md-2">
<div class="form-group">
<label><spring:message code="config_time"/></label>
<input name="search_create_time_start" type="text" readonly="readonly" maxlength="20" class="form-control Wdate"
value="<fmt:formatDate value='${cfg.search_create_time_start}' pattern='yyyy-MM-dd HH:mm:ss'/>" onClick="WdatePicker({dateFmt:'yyyy-MM-dd HH:mm:ss',isShowClear:true});"/>
</div>
</div>
<div class="col-md-2">
<div class="form-group">
<label>&nbsp;</label>
<input name="search_create_time_end" type="text" readonly="readonly" maxlength="20" class="form-control Wdate"
value="<fmt:formatDate value="${cfg.search_create_time_end}" pattern="yyyy-MM-dd HH:mm:ss"/>" onclick="WdatePicker({dateFmt:'yyyy-MM-dd HH:mm:ss',isShowClear:true});"/>
</div>
</div>
<div class="col-md-2">
<div class="form-group">
<label><spring:message code="edit_time"/></label>
<input name="search_edit_time_start" type="text" readonly="readonly" maxlength="20" class="form-control Wdate"
value="<fmt:formatDate value="${cfg.search_edit_time_start}" pattern="yyyy-MM-dd HH:mm:ss"/>" onclick="WdatePicker({dateFmt:'yyyy-MM-dd HH:mm:ss',isShowClear:true});"/>
</div>
</div>
<div class="col-md-2">
<div class="form-group">
<label>&nbsp;</label>
<input name="search_edit_time_end" type="text" readonly="readonly" maxlength="20" class="form-control Wdate"
value="<fmt:formatDate value="${cfg.search_edit_time_end}" pattern="yyyy-MM-dd HH:mm:ss"/>" onclick="WdatePicker({dateFmt:'yyyy-MM-dd HH:mm:ss',isShowClear:true});"/>
</div>
</div>
</div>
</div>
<!-- /筛选搜索内容栏 结束-->
</form:form>
</div>
<div class="table-responsive">
<table id="contentTable" class="table table-striped table-bordered table-condensed text-nowrap">
<thead>
<tr>
<th><input type="checkbox" class="i-checks" id="checkAll"></th>
<th><spring:message code="group_name"/></th>
<th><spring:message code="group_type"/></th>
<th><spring:message code="creator"/></th>
<th class="sort-column r.create_time"><spring:message code="config_time"/></th>
<th><spring:message code="editor"/></th>
<th class="sort-column r.edit_time"><spring:message code="edit_time"/></th>
</tr>
</thead>
<tbody>
<c:forEach items="${page.list }" var="cfg" varStatus="status" step="1">
<tr>
<td><input type="checkbox" class="i-checks" id="${cfg.groupId}"></td>
<td>
<a href="javascript:;" data-original-title="${cfg.groupName}"
class="tooltips" data-flag="false" data-html="true" data-placement="top">
${fns:abbr(cfg.groupName,20)}
</a>
</td>
<td>
<c:forEach items="${fns:getDictList('GROUP_TYPE')}" var="groupTypeC">
<c:if test="${cfg.groupType==groupTypeC.itemCode }"><spring:message code="${groupTypeC.itemValue}"/></c:if>
</c:forEach>
</td>
<td>${cfg.creatorName }</td>
<td><fmt:formatDate value="${cfg.createTime }" pattern="yyyy-MM-dd HH:mm:ss"/></td>
<td>${cfg.editorName }</td>
<td><fmt:formatDate value="${cfg.editTime }" pattern="yyyy-MM-dd HH:mm:ss"/></td>
</tr>
</c:forEach>
</tbody>
</table>
<div class="page">${page}</div>
</div>
</div>
</div>
</div>
</body>
</html>

View File

@@ -226,16 +226,16 @@ window.onresize=function(){
<ul class="dropdown-menu pull-left"> <ul class="dropdown-menu pull-left">
<c:forEach items="${menu.children}" var="secondMenu" varStatus="secondStatus"> <c:forEach items="${menu.children}" var="secondMenu" varStatus="secondStatus">
<c:if test="${secondMenu.isTop eq 1 && secondMenu.isShow eq 1}"> <c:if test="${secondMenu.isTop eq 1 && secondMenu.isShow eq 1}">
<c:if test="${secondStatus.index==2}"> <%-- <c:if test="${secondStatus.index==2}">
<li class="divider"></li> <li class="divider"></li>
</c:if> </c:if> --%>
<li> <li>
<a href="javascript:;" id="${secondMenu.id}"> <a href="javascript:;" id="${secondMenu.id}">
<i class="${secondMenu.icon }"></i>&nbsp; <i class="${secondMenu.icon }"></i>&nbsp;
<%-- ${secondMenu.name } --%><spring:message code="${secondMenu.code}"></spring:message> <%-- ${secondMenu.name } --%><spring:message code="${secondMenu.code}"></spring:message>
</a> </a>
</li> </li>
<li class="divider"></li>
</c:if> </c:if>
</c:forEach> </c:forEach>

View File

@@ -0,0 +1,286 @@
<%@ page contentType="text/html;charset=UTF-8"%>
<%@ include file="/WEB-INF/include/taglib.jsp"%>
<html>
<head>
<title>
DNS<spring:message code="log"/>
</title>
<script>
$(document).ready(function() {
//reset
$("#resetBtn").on("click",function(){
$("select.selectpicker").each(function(){
$(this).selectpicker('val',$(this).find('option:first').val());
$(this).find("option").attr("selected",false);
$(this).find("option:first").attr("selected",true);
});
$(".Wdate").attr("value",'');
$(':input','#searchForm')
.not(':button,:submit,:reset,:hidden')
.attr("value",'');
$("#searchForm")[0].reset();
});
//筛选功能
filterActionInit();
});
</script>
</head>
<body>
<div class="page-content">
<div class="theme-panel hidden-xs hidden-sm">
</div>
<h3 class="page-title">
DNS<spring:message code="log"/>
<small><spring:message code="date_list"/></small>
</h3>
<h5 class="page-header"></h5>
<div class="col-md-12">
<div class="portlet">
<div class="portlet-body">
<div class="row" >
<form:form id="searchForm" modelAttribute="log" action="${ctx}/log/ntc/dns/list" method="post" class="form-search">
<input id="pageNo" name="pageNo" type="hidden" value="${page.pageNo}"/>
<input id="pageSize" name="pageSize" type="hidden" value="${page.pageSize}"/>
<input id="functionId" name="functionId" type="hidden" value="${log.functionId}"/>
<!-- 筛选按钮展开状态-->
<input id="isFilterAction" name="isFilterAction" type="hidden" value="${log.isFilterAction }"/>
<!-- 搜索内容与操作按钮栏 -->
<div class="col-md-12">
<div class="pull-left">
<form:select path="serviceType" class="selectpicker select2 input-small">
<form:option value=""><spring:message code="action"/></form:option>
<form:option value="16"><spring:message code="action_reject"/></form:option>
<form:option value="1"><spring:message code="action_monit"/></form:option>
</form:select>
</div>
<div class="pull-left">
<div class="input-group">
<div class="input-group-btn">
<span class="selectpicker form-control" ><spring:message code="begin_date"/></span>
</div>
<input name="searchFoundStartTime" type="text" readonly="readonly" maxlength="20" class="form-control Wdate input-medium"
value="${log.searchFoundStartTime}" onclick="WdatePicker({dateFmt:'yyyy-MM-dd HH:mm:ss',isShowClear:true});"/>
</div>
</div>
<div class="pull-left">
<div class="input-group">
<div class="input-group-btn">
<span class="selectpicker form-control" ><spring:message code="end_date"/></span>
</div>
<input name="searchFoundEndTime" type="text" readonly="readonly" maxlength="20" class="form-control Wdate input-medium"
value="${log.searchFoundEndTime}" onclick="WdatePicker({dateFmt:'yyyy-MM-dd HH:mm:ss',isShowClear:true});"/>
</div>
</div>
<div class="pull-left">
<button type="button" class="btn blue" onClick="return page()"> <i class="fa fa-search"></i> <spring:message code="search"/> </button>
<button type="button" class="btn btn-default" id="resetBtn"> <i class="fa fa-refresh"></i> <spring:message code="reset"/> </button>
<button type="button" class="btn btn-default" id="filter-btn"> <spring:message code="filter"/><i class="fa fa-angle-double-down"></i></button>
</div>
<div class="pull-right">
<a class="btn btn-icon-only btn-default setfields tooltips"
data-container="body" data-placement="top" data-original-title=<spring:message code="custom_columns"/> href="javascript:;">
<i class="icon-wrench"></i>
</a>
</div>
</div>
<!-- 搜索内容与操作按钮栏 -->
<!-- 筛选搜索内容栏默认隐藏-->
<div class="col-md-12 filter-action-select-panle hide" >
<div class="row">
<div class="col-md-2">
<div class="form-group">
<label class="control-label"><spring:message code='protocol_type'/></label>
<form:select path="protocol" class="selectpicker form-control">
<form:option value=""><spring:message code="select"/></form:option>
<c:forEach items="${fns:getDictList('LOG_PROTOCOL')}" var="protocol" >
<form:option value="${protocol.itemCode}"><spring:message code="${protocol.itemValue}"></spring:message></form:option>
</c:forEach>
</form:select>
</div>
</div>
<div class="col-md-2">
<div class="form-group">
<label class="control-label"><spring:message code='direct'/></label>
<form:select path="direction" class="selectpicker form-control">
<form:option value=""><spring:message code="select"/></form:option>
<c:forEach items="${fns:getDictList('DIRECTION')}" var="direction" >
<form:option value="${direction.itemCode}"><spring:message code="${direction.itemValue}"></spring:message></form:option>
</c:forEach>
</form:select>
</div>
</div>
<div class="col-md-2">
<div class="form-group">
<label><spring:message code="entrance"/></label>
<form:select path="entranceId" class="selectpicker form-control" data-live-search="true" data-live-search-placeholder="search">
<form:option value=""><spring:message code="select"/></form:option>
<c:forEach items="${fns:getDictList('ENTRANCE')}" var="entrance" >
<form:option value="${entrance.itemCode}"><spring:message code="${entrance.itemValue}"></spring:message></form:option>
</c:forEach>
</form:select>
</div>
</div>
<div class="col-md-2">
<div class="form-group">
<label><spring:message code="clj_ip"/></label>
<input name="cljIp" type="text" class="form-control" value="${log.cljIp }"/>
</div>
</div>
<div class="col-md-2">
<div class="form-group">
<label><spring:message code="clientip"/></label>
<input name="clientIp" type="text" class="form-control" value="${log.clientIp }"/>
</div>
</div>
<div class="col-md-2">
<div class="form-group">
<label><spring:message code="serverip"/></label>
<input name="serverIp" type="text" class="form-control" value="${log.serverIp }"/>
</div>
</div>
</div>
<div class="row">
<div class="col-md-4">
<div class="form-group">
<label><spring:message code="qname"/></label>
<input name="qName" type="text" class="form-control" value="${log.qName }"/>
</div>
</div>
</div>
</div>
<!-- /筛选搜索内容栏 结束-->
</form:form>
</div>
<div class="table-responsive">
<sys:message content="${message}"/>
<table id="contentTable" class="table table-striped table-bordered table-condensed text-nowrap">
<thead>
<tr>
<!--<th><input type="checkbox" class="i-checks" id="checkAll"></th>-->
<th><spring:message code='cfg_id'/></th>
<%-- <th>ip<spring:message code="type"/></th> --%>
<th><spring:message code="action"/></th>
<th><spring:message code="qr"/></th>
<th><spring:message code="rd"/></th>
<th><spring:message code="ra"/></th>
<th><spring:message code="rr"/></th>
<th><spring:message code="qtype"/></th>
<th><spring:message code="qclass"/></th>
<th><spring:message code="opcode"/></th>
<th><spring:message code="qname"/></th>
<th><spring:message code="cname"/></th>
<th><spring:message code="client_ip"/></th>
<th><spring:message code="client_port"/></th>
<th><spring:message code="server_ip"/></th>
<th><spring:message code="server_port"/></th>
<th><spring:message code="protocol"/></th>
<th><spring:message code="entrance_id"/></th>
<th><spring:message code="direction"/></th>
<th><spring:message code="found_time"/></th>
<th><spring:message code="recv_time"/></th>
<th><spring:message code="deviceid"/></th>
<th><spring:message code="stream_type"/></th>
<th><spring:message code="clj_ip"/></th>
<th><spring:message code="nest_addr_list"/></th>
<th><spring:message code="user_region"/></th>
<%-- <th><spring:message code="dns_sub"/></th> --%>
</tr>
</thead>
<tbody>
<c:forEach var="_log" items="${page.list }">
<tr>
<td>${_log.cfgId }</td>
<%-- <td>
<c:forEach items="${fns:getDictList('IP_TYPE')}" var="ipType">
<c:if test="${ipType.itemCode eq _log.addrType}">${ipType.itemValue}</c:if>
</c:forEach>
</td> --%>
<td>
<c:if test="${_log.action eq 16 }"><spring:message code="action_reject"/></c:if>
<c:if test="${_log.action eq 1 }"><spring:message code="action_monit"/></c:if>
</td>
<td>
<c:forEach items="${fns:getDictList('DNS_QR')}" var="qr">
<c:if test="${qr.itemCode eq _log.qr}"><spring:message code="${qr.itemValue}"/></c:if>
</c:forEach>
</td>
<td>
<c:if test="${_log.rd eq 0}"><spring:message code="no"/></c:if>
<c:if test="${_log.rd eq 1}"><spring:message code="yes"/></c:if>
</td>
<td>
<c:if test="${_log.ra eq 0}"><spring:message code="no"/></c:if>
<c:if test="${_log.ra eq 1}"><spring:message code="yes"/></c:if>
</td>
<td>${_log.rr }</td>
<td>
<c:forEach items="${fns:getDictList('DNS_QTYPE')}" var="qtype">
<c:if test="${qtype.itemCode eq _log.qType}">${qtype.itemValue}</c:if>
</c:forEach>
</td>
<td>
<c:forEach items="${fns:getDictList('DNS_QCLASS')}" var="qclass">
<c:if test="${qclass.itemCode eq _log.qClass}">${qclass.itemValue}</c:if>
</c:forEach>
</td>
<td>
<c:forEach items="${fns:getDictList('DNS_OPCODE')}" var="opcode">
<c:if test="${opcode.itemCode eq _log.opCode}">${opcode.itemValue}</c:if>
</c:forEach>
</td>
<td title="${_log.qName }">${fns:abbr(_log.qName, 30)}</td>
<td>${_log.cName }</td>
<td>${_log.clientIp }</td>
<td>${_log.clientPort }</td>
<td>${_log.serverIp }</td>
<td>${_log.serverPort }</td>
<td>
<c:forEach items="${fns:getDictList('LOG_PROTOCOL')}" var="logProtocol">
<c:if test="${logProtocol.itemCode eq _log.protocol}">${logProtocol.itemValue}</c:if>
</c:forEach>
</td>
<td>
<c:forEach items="${fns:getDictList('ENTRANCE')}" var="entrance">
<c:if test="${entrance.itemCode eq _log.entranceId}"><spring:message code="${entrance.itemValue}"/></c:if>
</c:forEach>
</td>
<td>
<c:forEach items="${fns:getDictList('DIRECTION')}" var="direction">
<c:if test="${direction.itemCode eq _log.direction}"><spring:message code="${direction.itemValue}"/></c:if>
</c:forEach>
</td>
<td>${_log.foundTime }</td>
<td>${_log.recvTime }</td>
<td>
<c:forEach items="${fns:getDictList('DEVICE')}" var="device">
<c:if test="${device.itemCode eq _log.deviceId}"><spring:message code="${device.itemValue}"/></c:if>
</c:forEach>
</td>
<td>
<c:forEach items="${fns:getDictList('LOG_STREAM_TYPE')}" var="streamType">
<c:if test="${streamType.itemCode eq _log.streamType}">${streamType.itemValue}</c:if>
</c:forEach>
</td>
<td>${_log.cljIp }</td>
<td>${_log.nestAddrList }</td>
<td>${_log.userRegion }</td>
<%-- <td>${_log.dnsSub }</td> --%>
</tr>
</c:forEach>
</tbody>
</table>
<div class="page">${page}</div>
</div>
</div>
</div>
</div>
</div>
</body>
</html>

View File

@@ -0,0 +1,255 @@
<%@ page contentType="text/html;charset=UTF-8"%>
<%@ include file="/WEB-INF/include/taglib.jsp"%>
<html>
<head>
<title>
HTTP<spring:message code="log"></spring:message>
</title>
<script>
$(document).ready(function() {
//reset
$("#resetBtn").on("click",function(){
$("select.selectpicker").each(function(){
$(this).selectpicker('val',$(this).find('option:first').val());
$(this).find("option").attr("selected",false);
$(this).find("option:first").attr("selected",true);
});
$(".Wdate").attr("value",'');
$(':input','#searchForm')
.not(':button,:submit,:reset,:hidden')
.attr("value",'');
$("#searchForm")[0].reset();
});
//筛选功能
filterActionInit();
});
</script>
</head>
<body>
<div class="page-content">
<div class="theme-panel hidden-xs hidden-sm">
</div>
<h3 class="page-title">
HTTP<spring:message code="log"></spring:message>
<small><spring:message code="date_list"/></small>
</h3>
<h5 class="page-header"></h5>
<div class="col-md-12">
<div class="portlet">
<div class="portlet-body">
<div class="row" >
<form:form id="searchForm" modelAttribute="log" action="${ctx}/log/ntc/http/list" method="post" class="form-search">
<input id="pageNo" name="pageNo" type="hidden" value="${page.pageNo}"/>
<input id="pageSize" name="pageSize" type="hidden" value="${page.pageSize}"/>
<input id="functionId" name="functionId" type="hidden" value="${log.functionId}"/>
<!-- 筛选按钮展开状态-->
<input id="isFilterAction" name="isFilterAction" type="hidden" value="${log.isFilterAction }"/>
<!-- 搜索内容与操作按钮栏 -->
<div class="col-md-12">
<div class="pull-left">
<form:select path="serviceType" class="selectpicker select2 input-small">
<form:option value=""><spring:message code="action"/></form:option>
<form:option value="16"><spring:message code="action_reject"/></form:option>
<form:option value="1"><spring:message code="action_monit"/></form:option>
</form:select>
</div>
<div class="pull-left">
<div class="input-group">
<div class="input-group-btn">
<span class="selectpicker form-control" ><spring:message code="begin_date"/></span>
</div>
<input name="searchFoundStartTime" type="text" readonly="readonly" maxlength="20" class="form-control Wdate input-medium"
value="${log.searchFoundStartTime}" onclick="WdatePicker({dateFmt:'yyyy-MM-dd HH:mm:ss',isShowClear:true});"/>
</div>
</div>
<div class="pull-left">
<div class="input-group">
<div class="input-group-btn">
<span class="selectpicker form-control" ><spring:message code="end_date"/></span>
</div>
<input name="searchFoundEndTime" type="text" readonly="readonly" maxlength="20" class="form-control Wdate input-medium"
value="${log.searchFoundEndTime}" onclick="WdatePicker({dateFmt:'yyyy-MM-dd HH:mm:ss',isShowClear:true});"/>
</div>
</div>
<div class="pull-left">
<button type="button" class="btn blue" onClick="return page()"> <i class="fa fa-search"></i> <spring:message code="search"/> </button>
<button type="button" class="btn btn-default" id="resetBtn"> <i class="fa fa-refresh"></i> <spring:message code="reset"/> </button>
<button type="button" class="btn btn-default" id="filter-btn"> <spring:message code="filter"/><i class="fa fa-angle-double-down"></i></button>
</div>
<div class="pull-right">
<a class="btn btn-icon-only btn-default setfields tooltips"
data-container="body" data-placement="top" data-original-title=<spring:message code="custom_columns"/> href="javascript:;">
<i class="icon-wrench"></i>
</a>
</div>
</div>
<!-- 搜索内容与操作按钮栏 -->
<!-- 筛选搜索内容栏默认隐藏-->
<div class="col-md-12 filter-action-select-panle hide" >
<div class="row">
<div class="col-md-2">
<div class="form-group">
<label class="control-label"><spring:message code='protocol_type'/></label>
<form:select path="protocol" class="selectpicker form-control">
<form:option value=""><spring:message code="select"/></form:option>
<c:forEach items="${fns:getDictList('LOG_PROTOCOL')}" var="protocol" >
<form:option value="${protocol.itemCode}"><spring:message code="${protocol.itemValue}"></spring:message></form:option>
</c:forEach>
</form:select>
</div>
</div>
<div class="col-md-2">
<div class="form-group">
<label class="control-label"><spring:message code='direct'/></label>
<form:select path="direction" class="selectpicker form-control">
<form:option value=""><spring:message code="select"/></form:option>
<c:forEach items="${fns:getDictList('DIRECTION')}" var="direction" >
<form:option value="${direction.itemCode}"><spring:message code="${direction.itemValue}"></spring:message></form:option>
</c:forEach>
</form:select>
</div>
</div>
<div class="col-md-2">
<div class="form-group">
<label><spring:message code="entrance"/></label>
<form:select path="entranceId" class="selectpicker form-control" data-live-search="true" data-live-search-placeholder="search">
<form:option value=""><spring:message code="select"/></form:option>
<c:forEach items="${fns:getDictList('ENTRANCE')}" var="entrance">
<form:option value="${entrance.itemCode}"><spring:message code="${entrance.itemValue}"></spring:message></form:option>
</c:forEach>
</form:select>
</div>
</div>
<div class="col-md-2">
<div class="form-group">
<label><spring:message code="clj_ip"></spring:message></label>
<input name="cljIp" type="text" class="form-control" value="${log.cljIp }"/>
</div>
</div>
<div class="col-md-2">
<div class="form-group">
<label><spring:message code="clientip"></spring:message></label>
<input name="clientIp" type="text" class="form-control" value="${log.clientIp }"/>
</div>
</div>
<div class="col-md-2">
<div class="form-group">
<label><spring:message code="serverip"></spring:message></label>
<input name="serverIp" type="text" class="form-control" value="${log.serverIp }"/>
</div>
</div>
</div>
<div class="row">
<div class="col-md-4">
<div class="form-group">
<label>URL</label>
<input name="url" type="text" class="form-control" value="${log.url }"/>
</div>
</div>
</div>
</div>
<!-- /筛选搜索内容栏 结束-->
</form:form>
</div>
<div class="table-responsive">
<sys:message content="${message}"/>
<table id="contentTable" class="table table-striped table-bordered table-condensed text-nowrap">
<thead>
<tr>
<!--<th><input type="checkbox" class="i-checks" id="checkAll"></th>-->
<th><spring:message code='cfg_id'/></th>
<%-- <th>ip<spring:message code="type"/></th> --%>
<th><spring:message code="action"/></th>
<th>URL</th>
<th><spring:message code="client_ip"/></th>
<th><spring:message code="client_port"/></th>
<th><spring:message code="server_ip"/></th>
<th><spring:message code="server_port"/></th>
<th><spring:message code="protocol"/></th>
<th><spring:message code="entrance_id"/></th>
<th><spring:message code="direction"/></th>
<th><spring:message code="found_time"/></th>
<th><spring:message code="recv_time"/></th>
<th><spring:message code="req_hdr_file"/></th>
<th><spring:message code="req_body_file"/></th>
<th><spring:message code="res_hdr_file"/></th>
<th><spring:message code="res_body_file"/></th>
<th><spring:message code="deviceid"/></th>
<th><spring:message code="stream_type"/></th>
<th><spring:message code="clj_ip"/></th>
<th><spring:message code="nest_addr_list"/></th>
<th><spring:message code="user_region"/></th>
</tr>
</thead>
<tbody>
<c:forEach var="_log" items="${page.list }">
<tr>
<td>${_log.cfgId }</td>
<%-- <td>
<c:forEach items="${fns:getDictList('IP_TYPE')}" var="ipType">
<c:if test="${ipType.itemCode eq _log.addrType}">${ipType.itemValue}</c:if>
</c:forEach>
</td> --%>
<td>
<c:if test="${_log.action eq 16 }"><spring:message code="action_reject"/></c:if>
<c:if test="${_log.action eq 1 }"><spring:message code="action_monit"/></c:if>
</td>
<td title="${_log.url }">${fns:abbr(_log.url, 30)}</td>
<td>${_log.clientIp }</td>
<td>${_log.clientPort }</td>
<td>${_log.serverIp }</td>
<td>${_log.serverPort }</td>
<td>
<c:forEach items="${fns:getDictList('LOG_PROTOCOL')}" var="logProtocol">
<c:if test="${logProtocol.itemCode eq _log.protocol}">${logProtocol.itemValue}</c:if>
</c:forEach>
</td>
<td>
<c:forEach items="${fns:getDictList('ENTRANCE')}" var="entrance">
<c:if test="${entrance.itemCode eq _log.entranceId}"><spring:message code="${entrance.itemValue}"/></c:if>
</c:forEach>
</td>
<td>
<c:forEach items="${fns:getDictList('DIRECTION')}" var="direction">
<c:if test="${direction.itemCode eq _log.direction}"><spring:message code="${direction.itemValue}"/></c:if>
</c:forEach>
</td>
<td>${_log.foundTime }</td>
<td>${_log.recvTime }</td>
<td>${_log.reqHdrFile}</td>
<td>${_log.reqBodyFile}</td>
<td>${_log.resHdrFile}</td>
<td>${_log.resBodyFile}</td>
<td>
<c:forEach items="${fns:getDictList('DEVICE')}" var="device">
<c:if test="${device.itemCode eq _log.deviceId}"><spring:message code="${device.itemValue}"/></c:if>
</c:forEach>
</td>
<td>
<c:forEach items="${fns:getDictList('LOG_STREAM_TYPE')}" var="streamType">
<c:if test="${streamType.itemCode eq _log.streamType}">${streamType.itemValue}</c:if>
</c:forEach>
</td>
<td>${_log.cljIp }</td>
<td>${_log.nestAddrList }</td>
<td>${_log.userRegion }</td>
</tr>
</c:forEach>
</tbody>
</table>
<div class="page">${page}</div>
</div>
</div>
</div>
</div>
</div>
</body>
</html>

View File

@@ -3,10 +3,7 @@
<html> <html>
<head> <head>
<title> <title>
<c:if test="${log.functionId eq 5 }">IP</c:if> IP<spring:message code="log"></spring:message>
<c:if test="${log.functionId eq 7 }">DNS</c:if>
<c:if test="${log.functionId eq 8 }">HTTP</c:if>
<spring:message code="log"></spring:message>
</title> </title>
<script> <script>
$(document).ready(function() { $(document).ready(function() {
@@ -18,6 +15,9 @@
$(this).find("option:first").attr("selected",true); $(this).find("option:first").attr("selected",true);
}); });
$(".Wdate").attr("value",''); $(".Wdate").attr("value",'');
$(':input','#searchForm')
.not(':button,:submit,:reset,:hidden')
.attr("value",'');
$("#searchForm")[0].reset(); $("#searchForm")[0].reset();
}); });
//筛选功能 //筛选功能
@@ -31,220 +31,206 @@
<div class="theme-panel hidden-xs hidden-sm"> <div class="theme-panel hidden-xs hidden-sm">
</div> </div>
<h3 class="page-title"> <h3 class="page-title">
<c:if test="${log.functionId eq 5 }">IP</c:if> IP<spring:message code="log"></spring:message>
<c:if test="${log.functionId eq 7 }">DNS</c:if>
<c:if test="${log.functionId eq 8 }">HTTP</c:if>
<spring:message code="log"></spring:message>
<small><spring:message code="date_list"/></small> <small><spring:message code="date_list"/></small>
</h3> </h3>
<h5 class="page-header"></h5> <h5 class="page-header"></h5>
<div class="row"> <div class="col-md-12">
<div class="col-md-12"> <div class="portlet">
<div class="portlet"> <div class="portlet-body">
<div class="portlet-body"> <div class="row" >
<div class="row" > <form:form id="searchForm" modelAttribute="log" action="${ctx}/log/ntc/ip/list" method="post" class="form-search">
<c:if test="${log.functionId eq 5 }"> <input id="pageNo" name="pageNo" type="hidden" value="${page.pageNo}"/>
<c:set var="function" value="ip"/> <input id="pageSize" name="pageSize" type="hidden" value="${page.pageSize}"/>
</c:if> <input id="functionId" name="functionId" type="hidden" value="${log.functionId}"/>
<c:if test="${log.functionId eq 7 }"> <!-- 筛选按钮展开状态-->
<c:set var="function" value="dns"/> <input id="isFilterAction" name="isFilterAction" type="hidden" value="${log.isFilterAction }"/>
</c:if> <!-- 搜索内容与操作按钮栏 -->
<c:if test="${log.functionId eq 8 }"> <div class="col-md-12">
<c:set var="function" value="http"/> <div class="pull-left">
</c:if> <form:select path="serviceType" class="selectpicker select2 input-small">
<form:form id="searchForm" modelAttribute="log" action="${ctx}/log/ntc/${function}/list" method="post" class="form-search"> <form:option value=""><spring:message code="action"/></form:option>
<input id="pageNo" name="pageNo" type="hidden" value="${page.pageNo}"/> <form:option value="16"><spring:message code="action_reject"/></form:option>
<input id="pageSize" name="pageSize" type="hidden" value="${page.pageSize}"/> <form:option value="1"><spring:message code="action_monit"/></form:option>
<input id="functionId" name="functionId" type="hidden" value="${log.functionId}"/> </form:select>
<!-- 筛选按钮展开状态-->
<input id="isFilterAction" name="isFilterAction" type="hidden" value="${log.isFilterAction }"/>
<!-- 搜索内容与操作按钮栏 -->
<div class="col-md-12">
<div class="pull-left">
<form:select path="protocol" class="selectpicker select2 input-small" data-live-search="true" data-live-search-placeholder="search">
<form:option value=""><spring:message code="protocol_type"/></form:option>
<c:forEach items="${fns:getDictList('LOG_PROTOCOL')}" var="protocol">
<form:option value="${protocol.itemCode}" ><spring:message code="${protocol.itemValue}"/></form:option>
</c:forEach>
</form:select>
</div>
<div class="pull-left">
<form:select path="serviceType" class="selectpicker select2 input-small">
<form:option value=""><spring:message code="action"/></form:option>
<form:option value="16"><spring:message code="action_reject"/></form:option>
<form:option value="1"><spring:message code="action_monit"/></form:option>
</form:select>
</div>
<div class="pull-left">
<div class="input-group">
<div class="input-group-btn">
<form:select path="direction" class="selectpicker select2 input-small">
<form:option value=""><spring:message code="direct"/></form:option>
<c:forEach items="${fns:getDictList('DIRECTION')}" var="dict">
<form:option value="${dict.itemCode}"><spring:message code="${dict.itemValue}"/></form:option>
</c:forEach>
</form:select>
</div>
</div>
</div>
<div class="pull-left">
<div class="input-group">
<div class="input-group-btn">
<span class="selectpicker form-control" ><spring:message code="entrance_id"/></span>
</div>
<input id="entranceId" name="entranceId" class="form-control input-small" type="text" value="${log.entranceId}"/>
</div>
</div>
<div class="pull-left">
<div class="input-group">
<div class="input-group-btn">
<span class="selectpicker form-control" ><spring:message code="clj_ip"/></span>
</div>
<input id="cljIp" name="cljIp" class="form-control input-small" type="text" value="${log.cljIp}"/>
</div>
</div>
<div class="pull-left">
<button type="button" class="btn blue" onClick="return page()"> <i class="fa fa-search"></i> <spring:message code="search"/> </button>
<button type="button" class="btn btn-default" id="resetBtn"> <i class="fa fa-refresh"></i> <spring:message code="reset"/> </button>
<button type="button" class="btn btn-default" id="filter-btn"> <spring:message code="filter"/><i class="fa fa-angle-double-down"></i></button>
</div>
<div class="pull-right">
<a class="btn btn-icon-only btn-default setfields tooltips"
data-container="body" data-placement="top" data-original-title=<spring:message code="custom_columns"/> href="javascript:;">
<i class="icon-wrench"></i>
</a>
</div>
</div> </div>
<!-- 搜索内容与操作按钮栏 --> <div class="pull-left">
<div class="input-group">
<div class="input-group-btn">
<span class="selectpicker form-control" ><spring:message code="begin_date"/></span>
</div>
<input name="searchFoundStartTime" type="text" readonly="readonly" maxlength="20" class="form-control Wdate input-medium"
value="${log.searchFoundStartTime}" onclick="WdatePicker({dateFmt:'yyyy-MM-dd HH:mm:ss',isShowClear:true});"/>
</div>
</div>
<div class="pull-left">
<div class="input-group">
<div class="input-group-btn">
<span class="selectpicker form-control" ><spring:message code="end_date"/></span>
</div>
<input name="searchFoundEndTime" type="text" readonly="readonly" maxlength="20" class="form-control Wdate input-medium"
value="${log.searchFoundEndTime}" onclick="WdatePicker({dateFmt:'yyyy-MM-dd HH:mm:ss',isShowClear:true});"/>
</div>
</div>
<div class="pull-left">
<button type="button" class="btn blue" onClick="return page()"> <i class="fa fa-search"></i> <spring:message code="search"/> </button>
<button type="button" class="btn btn-default" id="resetBtn"> <i class="fa fa-refresh"></i> <spring:message code="reset"/> </button>
<button type="button" class="btn btn-default" id="filter-btn"> <spring:message code="filter"/><i class="fa fa-angle-double-down"></i></button>
</div>
<div class="pull-right">
<a class="btn btn-icon-only btn-default setfields tooltips"
data-container="body" data-placement="top" data-original-title=<spring:message code="custom_columns"/> href="javascript:;">
<i class="icon-wrench"></i>
</a>
</div>
</div>
<!-- 搜索内容与操作按钮栏 -->
<!-- 筛选搜索内容栏默认隐藏--> <!-- 筛选搜索内容栏默认隐藏-->
<div class="col-md-12 filter-action-select-panle hide" > <div class="col-md-12 filter-action-select-panle hide" >
<div class="row"> <div class="row">
<div class="col-md-2"> <div class="col-md-2">
<div class="form-group"> <div class="form-group">
<label class="form-label"><spring:message code="begin_date"/></label> <label class="control-label"><spring:message code='protocol_type'/></label>
<input name="searchFoundStartTime" type="text" readonly="readonly" maxlength="20" class="form-control Wdate" <form:select path="protocol" class="selectpicker form-control">
value="${log.searchFoundStartTime}" onclick="WdatePicker({dateFmt:'yyyy-MM-dd HH:mm:ss',isShowClear:true});"/> <form:option value=""><spring:message code="select"/></form:option>
</div> <c:forEach items="${fns:getDictList('LOG_PROTOCOL')}" var="protocol" >
<form:option value="${protocol.itemCode}"><spring:message code="${protocol.itemValue}"></spring:message></form:option>
</c:forEach>
</form:select>
</div> </div>
</div>
<div class="col-md-2"> <div class="col-md-2">
<div class="form-group"> <div class="form-group">
<label><spring:message code="end_date"/></label> <label class="control-label"><spring:message code='direct'/></label>
<input name="searchFoundEndTime" type="text" readonly="readonly" maxlength="20" class="form-control Wdate" <form:select path="direction" class="selectpicker form-control">
value="${log.searchFoundEndTime}" onclick="WdatePicker({dateFmt:'yyyy-MM-dd HH:mm:ss',isShowClear:true});"/> <form:option value=""><spring:message code="select"/></form:option>
</div> <c:forEach items="${fns:getDictList('DIRECTION')}" var="direction" >
<form:option value="${direction.itemCode}"><spring:message code="${direction.itemValue}"></spring:message></form:option>
</c:forEach>
</form:select>
</div> </div>
</div>
<div class="col-md-2"> <div class="col-md-2">
<div class="form-group"> <div class="form-group">
<label><spring:message code="clientip"></spring:message></label> <label><spring:message code="entrance"/></label>
<input name="clientIp" type="text" class="form-control" value="${log.clientIp }"/> <form:select path="entranceId" class="selectpicker form-control" data-live-search="true" data-live-search-placeholder="search">
</div> <form:option value=""><spring:message code="select"/></form:option>
<c:forEach items="${fns:getDictList('ENTRANCE')}" var="entrance" >
<form:option value="${entrance.itemCode}"><spring:message code="${entrance.itemValue}"></spring:message></form:option>
</c:forEach>
</form:select>
</div> </div>
</div>
<div class="col-md-2"> <div class="col-md-2">
<div class="form-group"> <div class="form-group">
<label><spring:message code="serverip"></spring:message></label> <label><spring:message code="clj_ip"></spring:message></label>
<input name="serverIp" type="text" class="form-control" value="${log.serverIp }"/> <input name="cljIp" type="text" class="form-control" value="${log.cljIp }"/>
</div>
</div> </div>
</div>
<c:if test="${log.functionId eq 8 }"> <div class="col-md-2">
<div class="col-md-4"> <div class="form-group">
<div class="form-group"> <label><spring:message code="clientip"></spring:message></label>
<label>URL</label> <input name="clientIp" type="text" class="form-control" value="${log.clientIp }"/>
<input name="url" type="text" class="form-control" value="${log.url }"/> </div>
</div> </div>
<div class="col-md-2">
<div class="form-group">
<label><spring:message code="serverip"></spring:message></label>
<input name="serverIp" type="text" class="form-control" value="${log.serverIp }"/>
</div> </div>
</c:if>
</div> </div>
</div> </div>
<!-- /筛选搜索内容栏 结束--> </div>
</form:form> <!-- /筛选搜索内容栏 结束-->
</div> </form:form>
<div class="table-responsive"> </div>
<sys:message content="${message}"/> <div class="table-responsive">
<table id="contentTable" class="table table-striped table-bordered table-condensed text-nowrap"> <sys:message content="${message}"/>
<thead> <table id="contentTable" class="table table-striped table-bordered table-condensed text-nowrap">
<thead>
<tr>
<th><spring:message code="cfg_id"/></th>
<!--<th><input type="checkbox" class="i-checks" id="checkAll"></th>-->
<%-- <th>ip<spring:message code="type"/></th> --%>
<th><spring:message code="action"/></th>
<th><spring:message code="client_ip"/></th>
<th><spring:message code="client_port"/></th>
<th><spring:message code="server_ip"/></th>
<th><spring:message code="server_port"/></th>
<th><spring:message code="protocol"/></th>
<th><spring:message code="entrance_id"/></th>
<th><spring:message code="direction"/></th>
<th><spring:message code="found_time"/></th>
<th><spring:message code="recv_time"/></th>
<th><spring:message code="deviceid"/></th>
<th><spring:message code="stream_type"/></th>
<th><spring:message code="clj_ip"/></th>
<th><spring:message code="nest_addr_list"/></th>
<th><spring:message code="user_region"/></th>
</tr>
</thead>
<tbody>
<c:forEach var="_log" items="${page.list }" varStatus="status">
<tr> <tr>
<th></th> <td>${_log.cfgId }</td>
<!--<th><input type="checkbox" class="i-checks" id="checkAll"></th>--> <%-- <td>
<th><spring:message code='cfg_id'/></th> <c:forEach items="${fns:getDictList('IP_TYPE')}" var="ipType">
<th>ip<spring:message code="type"/></th> <c:if test="${ipType.itemCode eq _log.addrType}">${ipType.itemValue}</c:if>
<th><spring:message code="action"/></th> </c:forEach>
<th><spring:message code="client_ip"/></th> </td> --%>
<th><spring:message code="client_port"/></th> <td>
<th><spring:message code="server_ip"/></th> <c:if test="${_log.action eq 16 }"><spring:message code="action_reject"/></c:if>
<th><spring:message code="server_port"/></th> <c:if test="${_log.action eq 1 }"><spring:message code="action_monit"/></c:if>
<th><spring:message code="protocol"/></th> </td>
<th><spring:message code="entrance_id"/></th> <td>${_log.clientIp }</td>
<th><spring:message code="direction"/></th> <td>${_log.clientPort }</td>
<c:if test="${log.functionId eq 8 }"> <td>${_log.serverIp }</td>
<th>URL</th> <td>${_log.serverPort }</td>
</c:if> <td>
<th><spring:message code="found_time"/></th> <c:forEach items="${fns:getDictList('LOG_PROTOCOL')}" var="logProtocol">
<th><spring:message code="recv_time"/></th> <c:if test="${logProtocol.itemCode eq _log.protocol}">${logProtocol.itemValue}</c:if>
<th><spring:message code="device_id"/></th> </c:forEach>
<th><spring:message code="stream_type"/></th> </td>
<th><spring:message code="clj_ip"/></th> <td>
<th><spring:message code="nest_addr_list"/></th> <c:forEach items="${fns:getDictList('ENTRANCE')}" var="entrance">
<th><spring:message code="user_region"/></th> <c:if test="${entrance.itemCode eq _log.entranceId}"><spring:message code="${entrance.itemValue}"/></c:if>
</c:forEach>
</td>
<td>
<c:forEach items="${fns:getDictList('DIRECTION')}" var="direction">
<c:if test="${direction.itemCode eq _log.direction}"><spring:message code="${direction.itemValue}"/></c:if>
</c:forEach>
</td>
<td>${_log.foundTime }</td>
<td>${_log.recvTime }</td>
<td>
<c:forEach items="${fns:getDictList('DEVICE')}" var="device">
<c:if test="${device.itemCode eq _log.deviceId}"><spring:message code="${device.itemValue}"/></c:if>
</c:forEach>
</td>
<td>
<c:forEach items="${fns:getDictList('LOG_STREAM_TYPE')}" var="streamType">
<c:if test="${streamType.itemCode eq _log.streamType}">${streamType.itemValue}</c:if>
</c:forEach>
</td>
<td>${_log.cljIp }</td>
<td>${_log.nestAddrList }</td>
<td>${_log.userRegion }</td>
</tr> </tr>
<c:forEach var="_log" items="${page.list }"> </c:forEach>
<tr> </tbody>
<td></td> </table>
<td>${_log.cfgId }</td> <div class="page">${page}</div>
<td>
<c:forEach items="${fns:getDictList('IP_TYPE')}" var="ipType">
<c:if test="${ipType.itemCode eq _log.addrType}">${ipType.itemValue}</c:if>
</c:forEach>
</td>
<td>
<c:if test="${_log.action eq 16 }"><spring:message code="action_reject"/></c:if>
<c:if test="${_log.action eq 1 }"><spring:message code="action_monit"/></c:if>
</td>
<td>${_log.clientIp }</td>
<td>${_log.clientPort }</td>
<td>${_log.serverIp }</td>
<td>${_log.serverPort }</td>
<td>
<c:forEach items="${fns:getDictList('LOG_PROTOCOL')}" var="logProtocol">
<c:if test="${logProtocol.itemCode eq _log.protocol}">${logProtocol.itemValue}</c:if>
</c:forEach>
</td>
<td>${_log.entranceId }</td>
<td>
<c:forEach items="${fns:getDictList('DIRECTION')}" var="direction">
<c:if test="${direction.itemCode eq _log.direction}"><spring:message code="${direction.itemValue}"/></c:if>
</c:forEach>
</td>
<c:if test="${log.functionId eq 8 }">
<td title="${_log.url }">${fns:abbr(_log.url, 20)}</td>
</c:if>
<td>${_log.foundTime }</td>
<td>${_log.recvTime }</td>
<td>${_log.deviceId }</td>
<td>
<c:forEach items="${fns:getDictList('LOG_STREAM_TYPE')}" var="streamType">
<c:if test="${streamType.itemCode eq _log.streamType}">${streamType.itemValue}</c:if>
</c:forEach>
</td>
<td>${_log.cljIp }</td>
<td>${_log.nestAddrList }</td>
<td>${_log.userRegion }</td>
</tr>
</c:forEach>
</thead>
<tbody>
</tbody>
</table>
<div class="page">${page}</div>
</div>
</div> </div>
</div> </div>
</div>
</div>
</div> </div>
</body> </body>
</html> </html>

View File

@@ -70,7 +70,7 @@ $(document).ready(function(){
<div class="pull-left"> <div class="pull-left">
<div class="input-group"> <div class="input-group">
<div class="input-group-btn"> <div class="input-group-btn">
<span class="selectpicker form-control" ><spring:message code="begin_date"/></span> <span class="selectpicker form-control" ><spring:message code="end_date"/></span>
</div> </div>
<input id="searchFoundEndTime" name="searchFoundEndTime" type="text" readonly="readonly" class="form-control input-medium Wdate " <input id="searchFoundEndTime" name="searchFoundEndTime" type="text" readonly="readonly" class="form-control input-medium Wdate "
value="${log.searchFoundEndTime}" onclick="WdatePicker({dateFmt:'yyyy-MM-dd HH:mm:ss',isShowClear:true});"/> value="${log.searchFoundEndTime}" onclick="WdatePicker({dateFmt:'yyyy-MM-dd HH:mm:ss',isShowClear:true});"/>

View File

@@ -0,0 +1,242 @@
<%@ page contentType="text/html;charset=UTF-8"%>
<%@ include file="/WEB-INF/include/taglib.jsp"%>
<html>
<head>
<script type="text/javascript">
$(document).ready(function() {
// 筛选
filterActionInit();
// 重置
$("#resetBtn").on("click",function(){
$("select.selectpicker").each(function(){
$(this).selectpicker('val',$(this).find('option:first').val());
$(this).find("option").attr("selected",false);
$(this).find("option:first").attr("selected",true);
});
$(".Wdate").attr("value",'');
$(':input','#searchForm')
.not(':button,:submit,:reset,:hidden')
.attr("value",'');
$("#searchForm")[0].reset();
});
});
</script>
</head>
<body>
<div class="page-content">
<h3 class="page-title">
L2TP<spring:message code="log" />
<small><spring:message code="date_list" /></small>
</h3>
<h5 class="page-header"></h5>
<div class="row">
<div class="col-md-12">
<div class="portlet">
<div class="portlet-body">
<div class="row">
<form:form id="searchForm" modelAttribute="log" action="${ctx}/log/ntc/l2tpLogs/list" method="post" class="form-search">
<input id="pageNo" name="pageNo" type="hidden" value="${page.pageNo}"/>
<input id="pageSize" name="pageSize" type="hidden" value="${page.pageSize}"/>
<!-- 筛选按钮展开状态-->
<input id="isFilterAction" name="isFilterAction" type="hidden" value="${log.isFilterAction}"/>
<input id="functionId" name="functionId" type="hidden" value="${log.functionId}"/>
<!-- 搜索内容与操作按钮栏 -->
<div class="col-md-12">
<div class="pull-left">
<form:select path="serviceType" class="selectpicker select2 input-small">
<form:option value="" ><spring:message code="action"/></form:option>
<form:option value="16" ><spring:message code="action_reject"/></form:option>
<form:option value="1" ><spring:message code="action_monit"/></form:option>
</form:select>
</div>
<div class="pull-left">
<div class="input-group">
<div class="input-group-btn">
<span class="selectpicker form-control"><spring:message code="begin_date"/></span>
</div>
<input id="beginDate" name="searchFoundStartTime" type="text" readonly="readonly" maxlength="20" class="form-control input-medium Wdate" data-options="buttons:buttons"
value="${log.searchFoundStartTime}" onclick="WdatePicker({dateFmt:'yyyy-MM-dd HH:mm:ss',isShowClear:true});"/>
</div>
</div>
<div class="pull-left">
<div class="input-group">
<div class="input-group-btn">
<span class="selectpicker form-control"><spring:message code="end_date"/></span>
</div>
<input id="beginDate" name="searchFoundEndTime" type="text" readonly="readonly" maxlength="20" class="form-control input-medium Wdate" data-options="buttons:buttons"
value="${log.searchFoundEndTime}" onclick="WdatePicker({dateFmt:'yyyy-MM-dd HH:mm:ss',isShowClear:true});"/>
</div>
</div>
<div class="pull-left">
<button type="button" class="btn blue" onClick="return page()">
<i class="fa fa-search"></i><spring:message code="search" />
</button>
<button type="button" class="btn btn-default" id="resetBtn">
<i class="fa fa-refresh"></i><spring:message code="reset" />
</button>
<button type="button" class="btn btn-default" id="filter-btn">
<spring:message code="filter"></spring:message><i class="fa fa-angle-double-down"></i>
</button>
</div>
<div class="pull-right">
<a class="btn btn-icon-only btn-default setfields tooltips"
data-container="body" data-placement="top"
data-original-title=<spring:message code="custom_columns"/>
href="javascript:;"> <i class="icon-wrench"></i>
</a>
</div>
</div>
<!-- /搜索内容与操作按钮栏-->
<!-- 筛选搜索内容栏默认隐藏-->
<div class="col-md-12 filter-action-select-panle hide" >
<div class="row">
<div class="col-md-2">
<div class="form-group">
<label><spring:message code="protocol_type"/></label>
<form:select path="protocol" class="selectpicker form-control select2">
<form:option value=""><spring:message code="select"/></form:option>
<c:forEach items="${fns:getDictList('LOG_PROTOCOL')}" var="dict">
<form:option value="${dict.itemCode}" ><spring:message code="${dict.itemValue}"/></form:option>
</c:forEach>
</form:select>
</div>
</div>
<div class="col-md-2">
<div class="form-group">
<label><spring:message code="direct"/></label>
<form:select path="direction" class="selectpicker form-control select2">
<form:option value=""><spring:message code="select"/></form:option>
<c:forEach items="${fns:getDictList('DIRECTION')}" var="dict">
<form:option value="${dict.itemCode}"><spring:message code="${dict.itemValue}"/></form:option>
</c:forEach>
</form:select>
</div>
</div>
<div class="col-md-2">
<div class="form-group">
<label><spring:message code="clj_ip"/></label>
<input name="cljIp" type="text" class="form-control" value="${log.cljIp}"/>
</div>
</div>
<div class="col-md-2">
<div class="form-group">
<label><spring:message code="entrance_id"/></label>
<input name="entranceId" type="text" class="form-control" value="${log.entranceId}"/>
</div>
</div>
<div class="col-md-2">
<div class="form-group">
<label><spring:message code="clientip"/></label>
<input name="clientIp" type="text" class="form-control" value="${log.clientIp}"/>
</div>
</div>
<div class="col-md-2">
<div class="form-group">
<label><spring:message code="serverip"/></label>
<input name="serverIp" type="text" class="form-control" value="${log.serverIp}"/>
</div>
</div>
</div>
</div>
</form:form>
</div>
<div class="table-responsive">
<sys:message content="${message}"/>
<table id="contentTable" class="table table-striped table-bordered table-condensed text-nowrap">
<thead>
<tr>
<th><spring:message code="cfg_id" /></th>
<th><spring:message code="entrance_id" /></th>
<th><spring:message code="action" /></th>
<th><spring:message code="direct" /></th>
<th><spring:message code="found_time" /></th>
<th><spring:message code="recv_time" /></th>
<th><spring:message code="protocol_type" /></th>
<th><spring:message code="addr_type" /></th>
<th><spring:message code="serverip" /></th>
<th><spring:message code="clientip" /></th>
<th><spring:message code="serverport" /></th>
<th><spring:message code="clientport" /></th>
<th><spring:message code="deviceid" /></th>
<th><spring:message code="stream_type" /></th>
<th><spring:message code="clj_ip" /></th>
<th><spring:message code="nest_addr_list" /></th>
<th><spring:message code="user_region" /></th>
<th><spring:message code="tunnel_type" /></th>
<th><spring:message code="encrypt_mode" /></th>
<th><spring:message code="user_name"/></th>
</tr>
</thead>
<tbody>
<c:forEach items="${page.list}" var="log" varStatus="status" step="1">
<tr>
<td>${log.cfgId}</td>
<td>${log.entranceId}</td>
<td>
<c:if test="${log.action eq 1 }"><spring:message code="action_monit"/></c:if>
<c:if test="${log.action eq 16 }"><spring:message code="action_reject"/></c:if>
</td>
<td>
<c:forEach items="${fns:getDictList('DIRECTION')}" var="dict">
<c:if test="${log.direction==dict.itemCode}"><spring:message code="${dict.itemValue }"/></c:if>
</c:forEach>
</td>
<td>${log.foundTime }</td>
<td>${log.recvTime }</td>
<td>
<c:forEach items="${fns:getDictList('LOG_PROTOCOL')}" var="dict">
<c:if test="${log.protocol==dict.itemCode}"><spring:message code="${dict.itemValue }"/></c:if>
</c:forEach>
</td>
<td>
<c:forEach items="${fns:getDictList('IP_TYPE')}" var="dict">
<c:if test="${log.addrType==dict.itemCode}"><spring:message code="${dict.itemValue }"/></c:if>
</c:forEach>
</td>
<td>${log.serverIp}</td>
<td>${log.clientIp}</td>
<td>${log.serverPort}</td>
<td>${log.clientPort}</td>
<td>${log.deviceId}</td>
<td>
<c:forEach items="${fns:getDictList('LOG_STREAM_TYPE')}" var="dict">
<c:if test="${log.streamType==dict.itemCode}"><spring:message code="${dict.itemValue }"/></c:if>
</c:forEach>
</td>
<td>${log.cljIp}</td>
<td>${log.nestAddrList}</td>
<td>${log.userRegion}</td>
<td>
<c:if test="${log.tunnelType eq 1}"><spring:message code="contrl_message"/></c:if>
<c:if test="${log.tunnelType eq 2}"><spring:message code="data_message"/></c:if>
</td>
<td><!-- 0-其它1-IPSEC 2-无 -->
<c:if test="${log.encryptMode eq 0}">其它</c:if>
<c:if test="${log.encryptMode eq 1}">IPSEC</c:if>
<c:if test="${log.encryptMode eq 2}">无</c:if>
</td>
<td>${log.chapName}</td>
</tr>
</c:forEach>
</tbody>
</table><div class="page">${page}</div>
</div>
</div>
</div>
</div>
</div>
</div>
</body>
</html>

View File

@@ -77,7 +77,7 @@ $(document).ready(function(){
<div class="pull-left"> <div class="pull-left">
<div class="input-group"> <div class="input-group">
<div class="input-group-btn"> <div class="input-group-btn">
<span class="selectpicker form-control" ><spring:message code="begin_date"/></span> <span class="selectpicker form-control" ><spring:message code="end_date"/></span>
</div> </div>
<input id="searchFoundEndTime" name="searchFoundEndTime" type="text" readonly="readonly" class="form-control input-medium Wdate " <input id="searchFoundEndTime" name="searchFoundEndTime" type="text" readonly="readonly" class="form-control input-medium Wdate "
value="${log.searchFoundEndTime}" onclick="WdatePicker({dateFmt:'yyyy-MM-dd HH:mm:ss',isShowClear:true});"/> value="${log.searchFoundEndTime}" onclick="WdatePicker({dateFmt:'yyyy-MM-dd HH:mm:ss',isShowClear:true});"/>

View File

@@ -0,0 +1,240 @@
<%@ page contentType="text/html;charset=UTF-8"%>
<%@ include file="/WEB-INF/include/taglib.jsp"%>
<html>
<head>
<script type="text/javascript">
$(document).ready(function() {
// 筛选
filterActionInit();
// 重置
$("#resetBtn").on("click",function(){
$("select.selectpicker").each(function(){
$(this).selectpicker('val',$(this).find('option:first').val());
$(this).find("option").attr("selected",false);
$(this).find("option:first").attr("selected",true);
});
$(".Wdate").attr("value",'');
$(':input','#searchForm')
.not(':button,:submit,:reset,:hidden')
.attr("value",'');
$("#searchForm")[0].reset();
});
});
</script>
</head>
<body>
<div class="page-content">
<h3 class="page-title">
PPTP<spring:message code="log" />
<small><spring:message code="date_list" /></small>
</h3>
<h5 class="page-header"></h5>
<div class="row">
<div class="col-md-12">
<div class="portlet">
<div class="portlet-body">
<div class="row">
<form:form id="searchForm" modelAttribute="log" action="${ctx}/log/ntc/pptpLogs/list" method="post" class="form-search">
<input id="pageNo" name="pageNo" type="hidden" value="${page.pageNo}"/>
<input id="pageSize" name="pageSize" type="hidden" value="${page.pageSize}"/>
<!-- 筛选按钮展开状态-->
<input id="isFilterAction" name="isFilterAction" type="hidden" value="${log.isFilterAction}"/>
<input id="functionId" name="functionId" type="hidden" value="${log.functionId}"/>
<!-- 搜索内容与操作按钮栏 -->
<div class="col-md-12">
<div class="pull-left">
<form:select path="serviceType" class="selectpicker select2 input-small">
<form:option value="" ><spring:message code="action"/></form:option>
<form:option value="16" ><spring:message code="action_reject"/></form:option>
<form:option value="1" ><spring:message code="action_monit"/></form:option>
</form:select>
</div>
<div class="pull-left">
<div class="input-group">
<div class="input-group-btn">
<span class="selectpicker form-control"><spring:message code="begin_date"/></span>
</div>
<input id="beginDate" name="searchFoundStartTime" type="text" readonly="readonly" maxlength="20" class="form-control input-medium Wdate" data-options="buttons:buttons"
value="${log.searchFoundStartTime}" onclick="WdatePicker({dateFmt:'yyyy-MM-dd HH:mm:ss',isShowClear:true});"/>
</div>
</div>
<div class="pull-left">
<div class="input-group">
<div class="input-group-btn">
<span class="selectpicker form-control"><spring:message code="end_date"/></span>
</div>
<input id="beginDate" name="searchFoundEndTime" type="text" readonly="readonly" maxlength="20" class="form-control input-medium Wdate" data-options="buttons:buttons"
value="${log.searchFoundEndTime}" onclick="WdatePicker({dateFmt:'yyyy-MM-dd HH:mm:ss',isShowClear:true});"/>
</div>
</div>
<div class="pull-left">
<button type="button" class="btn blue" onClick="return page()">
<i class="fa fa-search"></i><spring:message code="search" />
</button>
<button type="button" class="btn btn-default" id="resetBtn">
<i class="fa fa-refresh"></i><spring:message code="reset" />
</button>
<button type="button" class="btn btn-default" id="filter-btn">
<spring:message code="filter"></spring:message><i class="fa fa-angle-double-down"></i>
</button>
</div>
<div class="pull-right">
<a class="btn btn-icon-only btn-default setfields tooltips"
data-container="body" data-placement="top"
data-original-title=<spring:message code="custom_columns"/>
href="javascript:;"> <i class="icon-wrench"></i>
</a>
</div>
</div>
<!-- /搜索内容与操作按钮栏-->
<!-- 筛选搜索内容栏默认隐藏-->
<div class="col-md-12 filter-action-select-panle hide" >
<div class="row">
<div class="col-md-2">
<div class="form-group">
<label><spring:message code="protocol_type"/></label>
<form:select path="protocol" class="selectpicker form-control select2">
<form:option value=""><spring:message code="select"/></form:option>
<c:forEach items="${fns:getDictList('LOG_PROTOCOL')}" var="dict">
<form:option value="${dict.itemCode}" ><spring:message code="${dict.itemValue}"/></form:option>
</c:forEach>
</form:select>
</div>
</div>
<div class="col-md-2">
<div class="form-group">
<label><spring:message code="direct"/></label>
<form:select path="direction" class="selectpicker form-control select2">
<form:option value=""><spring:message code="select"/></form:option>
<c:forEach items="${fns:getDictList('DIRECTION')}" var="dict">
<form:option value="${dict.itemCode}"><spring:message code="${dict.itemValue}"/></form:option>
</c:forEach>
</form:select>
</div>
</div>
<div class="col-md-2">
<div class="form-group">
<label><spring:message code="clj_ip"/></label>
<input name="cljIp" type="text" class="form-control" value="${log.cljIp}"/>
</div>
</div>
<div class="col-md-2">
<div class="form-group">
<label><spring:message code="entrance_id"/></label>
<input name="entranceId" type="text" class="form-control" value="${log.entranceId}"/>
</div>
</div>
<div class="col-md-2">
<div class="form-group">
<label><spring:message code="clientip"/></label>
<input name="clientIp" type="text" class="form-control" value="${log.clientIp}"/>
</div>
</div>
<div class="col-md-2">
<div class="form-group">
<label><spring:message code="serverip"/></label>
<input name="serverIp" type="text" class="form-control" value="${log.serverIp}"/>
</div>
</div>
</div>
</div>
</form:form>
</div>
<div class="table-responsive">
<sys:message content="${message}"/>
<table id="contentTable" class="table table-striped table-bordered table-condensed text-nowrap">
<thead>
<tr>
<th><spring:message code="cfg_id" /></th>
<th><spring:message code="entrance_id" /></th>
<th><spring:message code="action" /></th>
<th><spring:message code="direct" /></th>
<th><spring:message code="found_time" /></th>
<th><spring:message code="recv_time" /></th>
<th><spring:message code="protocol_type" /></th>
<th><spring:message code="addr_type" /></th>
<th><spring:message code="serverip" /></th>
<th><spring:message code="clientip" /></th>
<th><spring:message code="serverport" /></th>
<th><spring:message code="clientport" /></th>
<th><spring:message code="deviceid" /></th>
<th><spring:message code="stream_type" /></th>
<th><spring:message code="clj_ip" /></th>
<th><spring:message code="nest_addr_list" /></th>
<th><spring:message code="user_region" /></th>
<th><spring:message code="tunnel_type" /></th>
<th><spring:message code="encrypt_mode" /></th>
</tr>
</thead>
<tbody>
<c:forEach items="${page.list}" var="log" varStatus="status" step="1">
<tr>
<td>${log.cfgId}</td>
<td>${log.entranceId}</td>
<td>
<c:if test="${log.action eq 1 }"><spring:message code="action_monit"/></c:if>
<c:if test="${log.action eq 16 }"><spring:message code="action_reject"/></c:if>
</td>
<td>
<c:forEach items="${fns:getDictList('DIRECTION')}" var="dict">
<c:if test="${log.direction==dict.itemCode}"><spring:message code="${dict.itemValue }"/></c:if>
</c:forEach>
</td>
<td>${log.foundTime }</td>
<td>${log.recvTime }</td>
<td>
<c:forEach items="${fns:getDictList('LOG_PROTOCOL')}" var="dict">
<c:if test="${log.protocol==dict.itemCode}"><spring:message code="${dict.itemValue }"/></c:if>
</c:forEach>
</td>
<td>
<c:forEach items="${fns:getDictList('IP_TYPE')}" var="dict">
<c:if test="${log.addrType==dict.itemCode}"><spring:message code="${dict.itemValue }"/></c:if>
</c:forEach>
</td>
<td>${log.serverIp}</td>
<td>${log.clientIp}</td>
<td>${log.serverPort}</td>
<td>${log.clientPort}</td>
<td>${log.deviceId}</td>
<td>
<c:forEach items="${fns:getDictList('LOG_STREAM_TYPE')}" var="dict">
<c:if test="${log.streamType==dict.itemCode}"><spring:message code="${dict.itemValue }"/></c:if>
</c:forEach>
</td>
<td>${log.cljIp}</td>
<td>${log.nestAddrList}</td>
<td>${log.userRegion}</td>
<td>
<c:if test="${log.tunnelType eq 1}"><spring:message code="contrl_tunnel"/></c:if>
<c:if test="${log.tunnelType eq 2}"><spring:message code="data_tunnel"/></c:if>
</td>
<td>
<c:if test="${log.encryptMode eq 1}">MMPE</c:if><c:if test="${log.encryptMode eq 2}">IPSEC</c:if>
<c:if test="${log.encryptMode eq 3}">PAP</c:if><c:if test="${log.encryptMode eq 4}">CHAP</c:if>
<c:if test="${log.encryptMode eq 5}">MS-CHAP(v1/v2)</c:if><c:if test="${log.encryptMode eq 6}">EAP-TLS</c:if>
</td>
</tr>
</c:forEach>
</tbody>
</table><div class="page">${page}</div>
</div>
</div>
</div>
</div>
</div>
</div>
</body>
</html>

View File

@@ -77,7 +77,7 @@ $(document).ready(function(){
<div class="pull-left"> <div class="pull-left">
<div class="input-group"> <div class="input-group">
<div class="input-group-btn"> <div class="input-group-btn">
<span class="selectpicker form-control" ><spring:message code="begin_date"/></span> <span class="selectpicker form-control" ><spring:message code="end_date"/></span>
</div> </div>
<input id="searchFoundEndTime" name="searchFoundEndTime" type="text" readonly="readonly" class="form-control input-medium Wdate " <input id="searchFoundEndTime" name="searchFoundEndTime" type="text" readonly="readonly" class="form-control input-medium Wdate "
value="${log.searchFoundEndTime}" onclick="WdatePicker({dateFmt:'yyyy-MM-dd HH:mm:ss',isShowClear:true});"/> value="${log.searchFoundEndTime}" onclick="WdatePicker({dateFmt:'yyyy-MM-dd HH:mm:ss',isShowClear:true});"/>

View File

@@ -0,0 +1,246 @@
<%@ page contentType="text/html;charset=UTF-8"%>
<%@ include file="/WEB-INF/include/taglib.jsp"%>
<html>
<head>
<script type="text/javascript">
$(document).ready(function() {
// 筛选
filterActionInit();
// 重置
$("#resetBtn").on("click",function(){
$("select.selectpicker").each(function(){
$(this).selectpicker('val',$(this).find('option:first').val());
$(this).find("option").attr("selected",false);
$(this).find("option:first").attr("selected",true);
});
$(".Wdate").attr("value",'');
$(':input','#searchForm')
.not(':button,:submit,:reset,:hidden')
.attr("value",'');
$("#searchForm")[0].reset();
});
});
</script>
</head>
<body>
<div class="page-content">
<h3 class="page-title">
SSL<spring:message code="log" />
<small><spring:message code="date_list" /></small>
</h3>
<h5 class="page-header"></h5>
<div class="row">
<div class="col-md-12">
<div class="portlet">
<div class="portlet-body">
<div class="row">
<form:form id="searchForm" modelAttribute="log" action="${ctx}/log/ntc/sslLogs/list" method="post" class="form-search">
<input id="pageNo" name="pageNo" type="hidden" value="${page.pageNo}"/>
<input id="pageSize" name="pageSize" type="hidden" value="${page.pageSize}"/>
<!-- 筛选按钮展开状态-->
<input id="isFilterAction" name="isFilterAction" type="hidden" value="${log.isFilterAction}"/>
<input id="functionId" name="functionId" type="hidden" value="${log.functionId}"/>
<!-- 搜索内容与操作按钮栏 -->
<div class="col-md-12">
<div class="pull-left">
<form:select path="serviceType" class="selectpicker select2 input-small">
<form:option value="" ><spring:message code="action"/></form:option>
<form:option value="16" ><spring:message code="action_reject"/></form:option>
<form:option value="1" ><spring:message code="action_monit"/></form:option>
</form:select>
</div>
<div class="pull-left">
<div class="input-group">
<div class="input-group-btn">
<span class="selectpicker form-control">SNI</span>
</div>
<input name="sni" type="text" class="form-control input-small" value="${log.sni}"/>
</div>
</div>
<div class="pull-left">
<div class="input-group">
<div class="input-group-btn">
<span class="selectpicker form-control"><spring:message code="begin_date"/></span>
</div>
<input id="beginDate" name="searchFoundStartTime" type="text" readonly="readonly" maxlength="20" class="form-control input-medium Wdate" data-options="buttons:buttons"
value="${log.searchFoundStartTime}" onclick="WdatePicker({dateFmt:'yyyy-MM-dd HH:mm:ss',isShowClear:true});"/>
</div>
</div>
<div class="pull-left">
<div class="input-group">
<div class="input-group-btn">
<span class="selectpicker form-control"><spring:message code="end_date"/></span>
</div>
<input id="beginDate" name="searchFoundEndTime" type="text" readonly="readonly" maxlength="20" class="form-control input-medium Wdate" data-options="buttons:buttons"
value="${log.searchFoundEndTime}" onclick="WdatePicker({dateFmt:'yyyy-MM-dd HH:mm:ss',isShowClear:true});"/>
</div>
</div>
<div class="pull-left">
<button type="button" class="btn blue" onClick="return page()">
<i class="fa fa-search"></i><spring:message code="search" />
</button>
<button type="button" class="btn btn-default" id="resetBtn">
<i class="fa fa-refresh"></i><spring:message code="reset" />
</button>
<button type="button" class="btn btn-default" id="filter-btn">
<spring:message code="filter"></spring:message><i class="fa fa-angle-double-down"></i>
</button>
</div>
<div class="pull-right">
<a class="btn btn-icon-only btn-default setfields tooltips"
data-container="body" data-placement="top"
data-original-title=<spring:message code="custom_columns"/>
href="javascript:;"> <i class="icon-wrench"></i>
</a>
</div>
</div>
<!-- /搜索内容与操作按钮栏-->
<!-- 筛选搜索内容栏默认隐藏-->
<div class="col-md-12 filter-action-select-panle hide" >
<div class="row">
<div class="col-md-2">
<div class="form-group">
<label><spring:message code="protocol_type"/></label>
<form:select path="protocol" class="selectpicker form-control select2">
<form:option value=""><spring:message code="select"/></form:option>
<c:forEach items="${fns:getDictList('LOG_PROTOCOL')}" var="dict">
<form:option value="${dict.itemCode}" ><spring:message code="${dict.itemValue}"/></form:option>
</c:forEach>
</form:select>
</div>
</div>
<div class="col-md-2">
<div class="form-group">
<label><spring:message code="direct"/></label>
<form:select path="direction" class="selectpicker form-control select2">
<form:option value=""><spring:message code="select"/></form:option>
<c:forEach items="${fns:getDictList('DIRECTION')}" var="dict">
<form:option value="${dict.itemCode}"><spring:message code="${dict.itemValue}"/></form:option>
</c:forEach>
</form:select>
</div>
</div>
<div class="col-md-2">
<div class="form-group">
<label><spring:message code="clj_ip"/></label>
<input name="cljIp" type="text" class="form-control" value="${log.cljIp}"/>
</div>
</div>
<div class="col-md-2">
<div class="form-group">
<label><spring:message code="entrance_id"/></label>
<input name="entranceId" type="text" class="form-control" value="${log.entranceId}"/>
</div>
</div>
<div class="col-md-2">
<div class="form-group">
<label><spring:message code="clientip"/></label>
<input name="clientIp" type="text" class="form-control" value="${log.clientIp}"/>
</div>
</div>
<div class="col-md-2">
<div class="form-group">
<label><spring:message code="serverip"/></label>
<input name="serverIp" type="text" class="form-control" value="${log.serverIp}"/>
</div>
</div>
</div>
</div>
</form:form>
</div>
<div class="table-responsive">
<sys:message content="${message}"/>
<table id="contentTable" class="table table-striped table-bordered table-condensed text-nowrap">
<thead>
<tr>
<th><spring:message code="cfg_id" /></th>
<th><spring:message code="entrance_id" /></th>
<th><spring:message code="action" /></th>
<th><spring:message code="direct" /></th>
<th><spring:message code="found_time" /></th>
<th><spring:message code="recv_time" /></th>
<th><spring:message code="protocol_type" /></th>
<th><spring:message code="addr_type" /></th>
<th><spring:message code="serverip" /></th>
<th><spring:message code="clientip" /></th>
<th><spring:message code="serverport" /></th>
<th><spring:message code="clientport" /></th>
<th><spring:message code="deviceid" /></th>
<th><spring:message code="stream_type" /></th>
<th><spring:message code="clj_ip" /></th>
<th><spring:message code="nest_addr_list" /></th>
<th><spring:message code="user_region" /></th>
<th><spring:message code="version" /></th>
<th>SNI</th>
<th>SAN</th>
<th>CA</th>
</tr>
</thead>
<tbody>
<c:forEach items="${page.list}" var="log" varStatus="status" step="1">
<tr>
<td>${log.cfgId}</td>
<td>${log.entranceId}</td>
<td>
<c:if test="${log.action eq 1 }"><spring:message code="action_monit"/></c:if>
<c:if test="${log.action eq 16 }"><spring:message code="action_reject"/></c:if>
</td>
<td>
<c:forEach items="${fns:getDictList('DIRECTION')}" var="dict">
<c:if test="${log.direction==dict.itemCode}"><spring:message code="${dict.itemValue }"/></c:if>
</c:forEach>
</td>
<td>${log.foundTime }</td>
<td>${log.recvTime }</td>
<td>
<c:forEach items="${fns:getDictList('LOG_PROTOCOL')}" var="dict">
<c:if test="${log.protocol==dict.itemCode}"><spring:message code="${dict.itemValue }"/></c:if>
</c:forEach>
</td>
<td>
<c:forEach items="${fns:getDictList('IP_TYPE')}" var="dict">
<c:if test="${log.addrType==dict.itemCode}"><spring:message code="${dict.itemValue }"/></c:if>
</c:forEach>
</td>
<td>${log.serverIp}</td>
<td>${log.clientIp}</td>
<td>${log.serverPort}</td>
<td>${log.clientPort}</td>
<td>${log.deviceId}</td>
<td>
<c:forEach items="${fns:getDictList('LOG_STREAM_TYPE')}" var="dict">
<c:if test="${log.streamType==dict.itemCode}"><spring:message code="${dict.itemValue }"/></c:if>
</c:forEach>
</td>
<td>${log.cljIp}</td>
<td>${log.nestAddrList}</td>
<td>${log.userRegion}</td>
<td>${log.version}</td>
<td>${log.sni}</td>
<td>${log.san}</td>
<td>${log.ca}</td>
</tr>
</c:forEach>
</tbody>
</table><div class="page">${page}</div>
</div>
</div>
</div>
</div>
</div>
</div>
</body>
</html>

View File

@@ -243,7 +243,7 @@ th {
.glyphicon { .glyphicon {
position: relative; position: relative;
top: 1px; top: 5px;
display: inline-block; display: inline-block;
font-family: 'Glyphicons Halflings'; font-family: 'Glyphicons Halflings';
font-style: normal; font-style: normal;
@@ -256,7 +256,7 @@ th {
content: "\002a"; } content: "\002a"; }
.glyphicon-plus:before { .glyphicon-plus:before {
content: "\002b"; } content: "\002b";color:#27a4b0; }
.glyphicon-euro:before, .glyphicon-euro:before,
.glyphicon-eur:before { .glyphicon-eur:before {
@@ -311,7 +311,7 @@ th {
content: "\e013"; } content: "\e013"; }
.glyphicon-remove:before { .glyphicon-remove:before {
content: "\e014"; } content: "\e014"; color:#ed6b75;margin-right:5px}
.glyphicon-zoom-in:before { .glyphicon-zoom-in:before {
content: "\e015"; } content: "\e015"; }