diff --git a/src/main/java/com/nis/domain/Page.java b/src/main/java/com/nis/domain/Page.java index 348b293c0..0586434ac 100644 --- a/src/main/java/com/nis/domain/Page.java +++ b/src/main/java/com/nis/domain/Page.java @@ -4,7 +4,7 @@ package com.nis.domain; import java.util.ArrayList; -import java.util.HashMap; +import java.util.Arrays; import java.util.List; import java.util.Map; import java.util.regex.Pattern; @@ -13,16 +13,11 @@ import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.apache.commons.lang3.StringUtils; -import org.apache.ibatis.mapping.ResultMap; -import org.apache.ibatis.mapping.ResultMapping; -import org.apache.ibatis.session.SqlSessionFactory; import com.fasterxml.jackson.annotation.JsonIgnore; import com.nis.util.Configurations; -import com.nis.util.Constants; import com.nis.util.CookieUtil; import com.nis.util.StringUtil; -import com.nis.web.service.SpringContextHolder; /** * 分页类 @@ -52,8 +47,8 @@ public class Page { private String orderBy = ""; // 标准查询有效, 实例: updatedate desc, name asc - private String fields ="";//制定资源的字段 - private String alias = "";//T对应表的别名 + private String fields;//制定资源的字段 + private String where; private String funcName = "page"; // 设置点击页码调用的js函数名称,默认为page,在一页有多个分页对象时使用。 @@ -63,10 +58,9 @@ public class Page { private String message = ""; // 设置提示消息,显示在“共n条”之后 public Page() { - this.pageSize = pageSize; + this.pageSize = -1; } - /** * 构造方法 * @param request 传递 repage 参数,来记住页码 @@ -74,27 +68,11 @@ public class Page { */ public Page(HttpServletRequest request, HttpServletResponse response){ - this(request, response,Integer.valueOf(Configurations.getIntProperty("page.pageSize", 30))); - - } - /** - * 构造方法 - * @param request 传递 repage 参数,来记住页码 - * @param response 用于设置 Cookie,记住页码 - * - */ - public Page(HttpServletRequest request, HttpServletResponse response,Class clazz){ - - this(request, response,clazz.getSimpleName(),Integer.valueOf(Configurations.getIntProperty("page.pageSize", 30))); - - } - public Page(HttpServletRequest request, HttpServletResponse response,int defaultPageSize){ - - this(request, response,"",Integer.valueOf(Configurations.getIntProperty("page.pageSize", 30))); + this(request, response, Integer.valueOf(Configurations.getIntProperty("page.pageSize", 30))); } - public Page(HttpServletRequest request, HttpServletResponse response,String className, int defaultPageSize){ + public Page(HttpServletRequest request, HttpServletResponse response, int defaultPageSize){ try { // 设置页码参数(传递repage参数,来记住页码) String no = request.getParameter("pageNo"); @@ -111,7 +89,13 @@ public class Page { } // 设置页面大小参数(传递repage参数,来记住页码大小) - String size = request.getParameter("pageSize"); + String size = ""; + if(defaultPageSize==-1){ + size = "-1"; + }else{ + size = request.getParameter("pageSize"); + + } if (StringUtils.isNotBlank(size)) { if (StringUtils.isNumeric(size) || size.equals("-1")){ @@ -126,24 +110,20 @@ public class Page { } else { this.pageSize = defaultPageSize; } - //超出每页最大显示条数,取限制的最大条数 - if(this.pageSize > Constants.MAX_PAGE_SIZE){ - this.pageSize = Constants.MAX_PAGE_SIZE; - } String fields = request.getParameter("fields"); if (StringUtils.isNotBlank(fields)){ - fields=getFiledsSql(className, fields); this.setFields(fields); } // 设置排序参数 String orderBy = request.getParameter("orderBy"); if (StringUtils.isNotBlank(orderBy)){ - orderBy=getOrderBySql(className, orderBy); this.setOrderBy(orderBy); } - this.count=Integer.valueOf(Configurations.getIntProperty("page.count", -1)); + + this.setWhere(getWhere(request)); + } catch (Exception e) { e.printStackTrace(); @@ -334,8 +314,8 @@ public class Page { sb.append("
  • 当前 "); sb.append(" / "); - sb.append(" 条,"); + sb.append(" 页,"); sb.append("共 " + count + " 条"+(message!=null?message:"")+"
  • \n"); sb.insert(0,"
      \n").append("
    \n"); @@ -643,271 +623,37 @@ public class Page { public int getMaxResults(){ return getPageSize(); } - /** - * @Title: getFiledsSql - * @Description: 将fields的属性名称替换为字段名称 - * @param @param mapName - * @param @param fileds - * @param @return - * @param @throws Exception - * @return Map 返回类型 - * @author (DDM) - * @version V1.0 - */ - @JsonIgnore - public String getFiledsSql(String mapName,String fileds) throws Exception{ - String[] fieldsColoumn=null; - String orderByStr=""; - //所有字段名 - List columnList=new ArrayList(); - //所有属性名 - List propertyList=new ArrayList(); - //属性名称为key,字段名称为value - Map columnMap=new HashMap(); - - if(!StringUtil.isBlank(fileds)){ - //解析Fileds的字段/属性名称 - fieldsColoumn=fileds.split(","); - - //从resultMap中获取字段名称和属性名称 - if(fieldsColoumn != null){ - SqlSessionFactory sqlSessionFactory=SpringContextHolder.getBean(SqlSessionFactory.class); - ResultMap map= sqlSessionFactory.getConfiguration().getResultMap(mapName+"Map"); - List mapping= map.getResultMappings(); - for(ResultMapping mapp:mapping){ - columnList.add(mapp.getColumn().toLowerCase()); - propertyList.add(mapp.getProperty()); - columnMap.put(mapp.getProperty(), mapp.getColumn()); - } - } - if(fieldsColoumn != null){ - fileds=""; - for (String column : fieldsColoumn) { - if(!StringUtil.isBlank(column)){ - column=column.trim(); - if(columnList.contains(column.toLowerCase())){ - fileds+=","+column; - }else if(propertyList.contains(column)){ - fileds+=","+columnMap.get(column).toString(); - } - } - } - if(!StringUtil.isBlank(fileds)){ - fileds=fileds.substring(1); - } - - } - - } - return fileds; - } - /** - * @Title: getFiledsSql - * @Description: 将fields的属性名称替换为字段名称 - * @param @param mapName - * @param @param fileds - * @param @return - * @param @throws Exception - * @return Map 返回类型 - * @author (DDM) - * @version V1.0 - */ - @JsonIgnore - public String getFiledsSql(String tableAlias,String mapName,String fileds) throws Exception{ - String[] fieldsColoumn=null; - String orderByStr=""; - //所有字段名 - List columnList=new ArrayList(); - //所有属性名 - List propertyList=new ArrayList(); - //属性名称为key,字段名称为value - Map columnMap=new HashMap(); - - if(!StringUtil.isBlank(fileds)){ - //解析Fileds的字段/属性名称 - fieldsColoumn=fileds.split(","); - - //从resultMap中获取字段名称和属性名称 - if(fieldsColoumn != null){ - SqlSessionFactory sqlSessionFactory=SpringContextHolder.getBean(SqlSessionFactory.class); - ResultMap map= sqlSessionFactory.getConfiguration().getResultMap(mapName+"Map"); - List mapping= map.getResultMappings(); - for(ResultMapping mapp:mapping){ - columnList.add(mapp.getColumn().toLowerCase()); - propertyList.add(mapp.getProperty()); - columnMap.put(mapp.getProperty(), mapp.getColumn()); - } - } - if(fieldsColoumn != null){ - fileds=""; - for (String column : fieldsColoumn) { - if(!StringUtil.isBlank(column)){ - column=column.trim(); - if(columnList.contains(column.toLowerCase())){ - fileds+=","+(!StringUtil.isBlank(tableAlias)?(tableAlias+"."):"")+column; - }else if(propertyList.contains(column)){ - fileds+=","+(!StringUtil.isBlank(tableAlias)?(tableAlias+"."):"")+columnMap.get(column).toString(); - } - } - } - if(!StringUtil.isBlank(fileds)){ - fileds=fileds.substring(1); - } - - } - - } - return fileds; - } - /** - * @Title: getOrderBySql - * @Description: 将orderBy的属性名称替换为字段名称 - * @param @param mapName - * @param @param orderBy - * @param @return - * @param @throws Exception - * @return Map 返回类型 - * @author (DDM) - * @version V1.0 - */ - @JsonIgnore - public static String getOrderBySql(String mapName,String orderBy) throws Exception{ - String[] orderByColoumn=null; - //所有字段名 - List columnList=new ArrayList(); - //所有属性名 - List propertyList=new ArrayList(); - Map columnMap=new HashMap(); - - if(!StringUtil.isBlank(orderBy)){ - //解析orderBy的字段/属性名称 - orderByColoumn=orderBy.split(","); - //从resultMap中获取字段名称和属性名称 - if(orderByColoumn != null){ - SqlSessionFactory sqlSessionFactory=SpringContextHolder.getBean(SqlSessionFactory.class); - ResultMap map= sqlSessionFactory.getConfiguration().getResultMap(mapName+"Map"); - List mapping= map.getResultMappings(); - for(ResultMapping mapp:mapping){ - columnList.add(mapp.getColumn().toLowerCase()); - propertyList.add(mapp.getProperty()); - columnMap.put(mapp.getProperty(), mapp.getColumn()); - } - } - if(orderByColoumn != null){ - orderBy=""; - for (String column : orderByColoumn) { - if(!StringUtil.isBlank(column)){ - if(columnList.contains(replaceOrderBy(column))){ - orderBy+=","+column; - }else if(propertyList.contains(replaceOrderBy(column))){ - //如果是实体类名字则获取对应数据库名字+排序方式 - orderBy+=","+columnMap.get(replaceOrderBy(column)).toString() - +column.replace(replaceOrderBy(column), ""); - } - } - } - if(!StringUtil.isBlank(orderBy)){ - orderBy=orderBy.substring(1); - } - } - - } - return orderBy; - } - /** - * @Title: getOrderBySql - * @Description: 将orderBy的属性名称替换为字段名称 - * @param @param mapName - * @param @param orderBy - * @param @return - * @param @throws Exception - * @return Map 返回类型 - * @author (DDM) - * @version V1.0 - */ - @JsonIgnore - public static String getOrderBySql(String tableAlias,String mapName,String orderBy) throws Exception{ - String[] orderByColoumn=null; - //所有字段名 - List columnList=new ArrayList(); - //所有属性名 - List propertyList=new ArrayList(); - Map columnMap=new HashMap(); - - if(!StringUtil.isBlank(orderBy)){ - //解析orderBy的字段/属性名称 - orderByColoumn=orderBy.split(","); - //从resultMap中获取字段名称和属性名称 - if(orderByColoumn != null){ - SqlSessionFactory sqlSessionFactory=SpringContextHolder.getBean(SqlSessionFactory.class); - ResultMap map= sqlSessionFactory.getConfiguration().getResultMap(mapName+"Map"); - List mapping= map.getResultMappings(); - for(ResultMapping mapp:mapping){ - columnList.add(mapp.getColumn().toLowerCase()); - propertyList.add(mapp.getProperty()); - columnMap.put(mapp.getProperty(), mapp.getColumn()); - } - } - if(orderByColoumn != null){ - orderBy=""; - for (String column : orderByColoumn) { - if(!StringUtil.isBlank(column)){ - if(columnList.contains(replaceOrderBy(column))){ - orderBy+=","+(!StringUtil.isBlank(tableAlias)?(tableAlias+"."):"")+column; - }else if(propertyList.contains(replaceOrderBy(column))){ - //如果是实体类名字则获取对应数据库名字+排序方式 - orderBy+=","+(!StringUtil.isBlank(tableAlias)?(tableAlias+"."):"") - +columnMap.get(replaceOrderBy(column)).toString() - +column.replace(replaceOrderBy(column), ""); - } - } - } - if(!StringUtil.isBlank(orderBy)){ - orderBy=orderBy.substring(1); - } - } - - } - return orderBy; - } - - /** - * @Title: replaceOrderBy - * @Description: 去掉orderBy中的desc和asc - * @param @param str - * @param @return - * @return Map 返回类型 - * @author (DDM) - * @version V1.0 - */ - public static String replaceOrderBy(String str){ - if(!StringUtil.isBlank(str)){ - str=str.trim(); - str=str.replace(" asc",""); - str=str.replace(" ASC",""); - str=str.replace(" DESC",""); - str=str.replace(" desc",""); - str=str.trim(); - } - return str; - } - - /** - * alias - * @return alias - */ - - public String getAlias() { - return alias; - } - - - /** - * @param alias the alias to set - */ - public void setAlias(String alias) { - this.alias = alias; - } +// /** +// * 获取 Spring data JPA 分页对象 +// */ +// public Pageable getSpringPage(){ +// List orders = new ArrayList(); +// if (orderBy!=null){ +// for (String order : StringUtils.split(orderBy, ",")){ +// String[] o = StringUtils.split(order, " "); +// if (o.length==1){ +// orders.add(new Order(Direction.ASC, o[0])); +// }else if (o.length==2){ +// if ("DESC".equals(o[1].toUpperCase())){ +// orders.add(new Order(Direction.DESC, o[0])); +// }else{ +// orders.add(new Order(Direction.ASC, o[0])); +// } +// } +// } +// } +// return new PageRequest(this.pageNo - 1, this.pageSize, new Sort(orders)); +// } +// +// /** +// * 设置 Spring data JPA 分页对象,转换为本系统分页对象 +// */ +// public void setSpringPage(org.springframework.data.domain.Page page){ +// this.pageNo = page.getNumber(); +// this.pageSize = page.getSize(); +// this.count = page.getTotalElements(); +// this.list = page.getContent(); +// } } diff --git a/src/main/java/com/nis/web/security/FormAuthenticationFilter.java b/src/main/java/com/nis/web/security/FormAuthenticationFilter.java index cbe2f0d8d..b6f2c326f 100644 --- a/src/main/java/com/nis/web/security/FormAuthenticationFilter.java +++ b/src/main/java/com/nis/web/security/FormAuthenticationFilter.java @@ -74,14 +74,14 @@ public class FormAuthenticationFilter extends org.apache.shiro.web.filter.authc. String className = e.getClass().getName(), message = ""; if (IncorrectCredentialsException.class.getName().equals(className) || UnknownAccountException.class.getName().equals(className)){ - message = "用户或密码错误, 请重试."; + message = "loginName_error"; } else if (e.getMessage() != null && StringUtils.startsWith(e.getMessage(), "msg:")){ message = StringUtils.replace(e.getMessage(), "msg:", ""); } else{ - message = "系统出现点问题,请稍后再试!"; + message = "system_error"; e.printStackTrace(); // 输出到控制台 } request.setAttribute(getFailureKeyAttribute(), className); diff --git a/src/main/resources/messages/message_en.properties b/src/main/resources/messages/message_en.properties index e88811496..d680ccac3 100644 --- a/src/main/resources/messages/message_en.properties +++ b/src/main/resources/messages/message_en.properties @@ -142,6 +142,13 @@ date_list=Date List confirm_message=Are you sure? fill_loginName=Please fill in the loginName fill_loginPassWord=Please fill in the passWord +loginName_error=loginName and password error,please try again. +system_error=system error,please try again later! +save_success=save success +save_failed=save failed +delete_success=delete success +delete_failed=delete failed +turning_page=It is turning to the page #==========message end===================== #==========yewuliexingguanli begin===================== @@ -173,4 +180,52 @@ datebase_table=datebase table fill_all=fill in all describe=describe back=back -#==========yewuliexingguanli end===================== \ No newline at end of file +#==========yewuliexingguanli end===================== + +#==========youjianguankong begin===================== +sort=sort +createTime_asc=order by createTime asc +createTime_desc=order by createTime desc +editTime_asc=order by editTime asc +editTime_desc=order by editTime desc +auditTime_asc=order by auditTime asc +auditTime_desc=order by auditTime desc +config_describe=configuration description +match_area=matching area +key_word=key word +block_type=block type +letter=letter +whether_area_block=whether area block +label=label +attribute=attribute +valid_identifier=valid identifier +is_audit=whether audit +creator=creator +config_time=configuration time +editor=editor +edit_time=edit time +auditor=auditor +audit_time=audit time +yes=yes +no=no +deleted=deleted +cancel_approved=cancel approved + +#==========youjianguankong end===================== + +#==========guankongbaimingdan begin===================== +client_ip=client ip +server_ip=server ip +client_port=client port +client_port_mask=client port mask +client_address_mask=client address mask +server_port=server port +server_port_mask=server port mask +server_address_mask=server address mask +block_addr=block address +block_domain=block domain +block_url=block url +configuration=configuration +direction=direction +protocol=protocol +#==========guankongbaimingdan end===================== \ No newline at end of file diff --git a/src/main/resources/messages/message_ru.properties b/src/main/resources/messages/message_ru.properties index e706d890d..deae46fb2 100644 --- a/src/main/resources/messages/message_ru.properties +++ b/src/main/resources/messages/message_ru.properties @@ -142,6 +142,11 @@ date_list=Date List confirm_message=Are you sure? fill_loginName=Please fill in the loginName fill_loginPassWord=Please fill in the passWord +save_success=save success +save_failed=save failed +delete_success=delete success +delete_failed=delete failed +turning_page=It is turning to the page #==========message end===================== #==========yewuliexingguanli begin===================== diff --git a/src/main/resources/messages/message_zh_CN.properties b/src/main/resources/messages/message_zh_CN.properties index e8cb48922..8c7f9df9e 100644 --- a/src/main/resources/messages/message_zh_CN.properties +++ b/src/main/resources/messages/message_zh_CN.properties @@ -140,7 +140,13 @@ date_list=\u6570\u636e\u5217\u8868 confirm_message=\u786e\u5b9a\u5417\uff1f fill_loginName=\u8bf7\u586b\u5199\u767b\u5f55\u8d26\u53f7 fill_loginPassWord=\u8bf7\u586b\u5199\u767b\u5f55\u5bc6\u7801 - +loginName_error=\u7528\u6237\u6216\u5bc6\u7801\u9519\u8bef, \u8bf7\u91cd\u8bd5. +system_error=\u7cfb\u7edf\u51fa\u73b0\u70b9\u95ee\u9898\uff0c\u8bf7\u7a0d\u540e\u518d\u8bd5\uff01 +save_success=\u4fdd\u5b58\u6210\u529f +save_failed=\u4fdd\u5b58\u5931\u8d25 +delete_success=\u5220\u9664\u6210\u529f +delete_failed=\u5220\u9664\u5931\u8d25 +turning_page=\u6b63\u5728\u4e3a\u60a8\u8df3\u8f6c\u9875\u9762 #==========message end===================== #==========yewuliexingguanli begin===================== @@ -172,4 +178,52 @@ datebase_table=\u6570\u636e\u5e93\u8868 fill_all=\u8bf7\u586b\u5199\u6240\u6709\u5b57\u6bb5 describe=\u63cf\u8ff0 back=\u8fd4\u56de -#==========yewuliexingguanli end===================== \ No newline at end of file +#==========yewuliexingguanli end===================== + +#==========youjianguankong begin===================== +sort=\u6392\u5e8f +createTime_asc=\u6309\u521b\u5efa\u65f6\u95f4\u987a\u5e8f +createTime_desc=\u6309\u521b\u5efa\u65f6\u95f4\u5012\u5e8f +editTime_asc=\u6309\u4fee\u6539\u65f6\u95f4\u987a\u5e8f +editTime_desc=\u6309\u4fee\u6539\u65f6\u95f4\u5012\u5e8f +auditTime_asc=\u6309\u5ba1\u6838\u65f6\u95f4\u987a\u5e8f +auditTime_desc=\u6309\u5ba1\u6838\u65f6\u95f4\u5012\u5e8f +config_describe=\u914d\u7f6e\u63cf\u8ff0 +match_area=\u5339\u914d\u533a\u57df +key_word=\u5173\u952e\u5b57 +block_type=\u7ba1\u63a7\u7c7b\u578b +letter=\u6765\u51fd +whether_area_block=\u662f\u5426\u533a\u57df\u7ba1\u63a7 +label=\u6807\u7b7e +attribute=\u6027\u8d28 +valid_identifier=\u6709\u6548\u6807\u8bc6 +is_audit=\u662f\u5426\u5ba1\u6838 +creator=\u521b\u5efa\u4eba\u5458 +config_time=\u914d\u7f6e\u65f6\u95f4 +editor=\u4fee\u6539\u4eba\u5458 +edit_time=\u4fee\u6539\u65f6\u95f4 +auditor=\u5ba1\u6838\u4eba\u5458 +audit_time=\u5ba1\u6838\u65f6\u95f4 +yes=\u662f +no=\u5426 +deleted=\u5df2\u5220\u9664 +cancel_approved=\u53d6\u6d88\u5ba1\u6838\u901a\u8fc7 + +#==========youjianguankong end===================== + +#==========guankongbaimingdan begin===================== +client_ip=\u6e90IP +server_ip=\u76ee\u7684IP +client_port=\u6e90\u7aef\u53e3 +client_port_mask=\u6e90\u7aef\u53e3\u63a9\u7801 +client_address_mask=\u6e90\u5730\u5740\u63a9\u7801 +server_port=\u76ee\u7684\u7aef\u53e3 +server_port_mask=\u76ee\u7684\u7aef\u53e3\u63a9\u7801 +server_address_mask=\u76ee\u7684\u5730\u5740\u63a9\u7801 +block_addr=\u7ba1\u63a7\u5730\u5740 +block_domain=\u7ba1\u63a7\u57df\u540d +block_url=\u5c01\u5835\u8def\u5f84 +configuration=\u914d\u7f6e +direction=\u65b9\u5411 +protocol=\u534f\u8bae +#==========guankongbaimingdan end===================== \ No newline at end of file diff --git a/src/main/webapp/WEB-INF/include/form/complexInfo.jsp b/src/main/webapp/WEB-INF/include/form/complexInfo.jsp index 7ea6a1462..b720a1281 100644 --- a/src/main/webapp/WEB-INF/include/form/complexInfo.jsp +++ b/src/main/webapp/WEB-INF/include/form/complexInfo.jsp @@ -10,6 +10,7 @@ +
    diff --git a/src/main/webapp/WEB-INF/views/cfg/complexCfgForm.jsp b/src/main/webapp/WEB-INF/views/cfg/complexCfgForm.jsp index eee7dcd4f..123ebd499 100644 --- a/src/main/webapp/WEB-INF/views/cfg/complexCfgForm.jsp +++ b/src/main/webapp/WEB-INF/views/cfg/complexCfgForm.jsp @@ -31,7 +31,7 @@ $(function(){
    - +
    - + - + diff --git a/src/main/webapp/WEB-INF/views/cfg/ipCfgForm.jsp b/src/main/webapp/WEB-INF/views/cfg/ipCfgForm.jsp index 651e73fdf..a968c56c9 100644 --- a/src/main/webapp/WEB-INF/views/cfg/ipCfgForm.jsp +++ b/src/main/webapp/WEB-INF/views/cfg/ipCfgForm.jsp @@ -74,8 +74,7 @@ $(function(){ $("input[name='dstIp']").val("::"); } } - }); - + }); $("#ipCfgFrom").validate({ rules: { cfgDesc: { diff --git a/src/main/webapp/WEB-INF/views/cfg/ipCfgList.jsp b/src/main/webapp/WEB-INF/views/cfg/ipCfgList.jsp index 048de6a8c..66e967c00 100644 --- a/src/main/webapp/WEB-INF/views/cfg/ipCfgList.jsp +++ b/src/main/webapp/WEB-INF/views/cfg/ipCfgList.jsp @@ -5,20 +5,6 @@ <spring:message code="${cfgName}"></spring:message> - - - - - - - - - - - - - -