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

Conflicts:
	src/main/java/com/nis/domain/Page.java
	src/main/webapp/WEB-INF/views/cfg/complexCfgList.jsp
	src/main/webapp/WEB-INF/views/cfg/ipCfgList.jsp
This commit is contained in:
wangxin
2018-03-06 18:54:04 +08:00
13 changed files with 205 additions and 396 deletions

View File

@@ -4,7 +4,7 @@
package com.nis.domain; package com.nis.domain;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.HashMap; import java.util.Arrays;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import java.util.regex.Pattern; import java.util.regex.Pattern;
@@ -13,16 +13,11 @@ import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpServletResponse;
import org.apache.commons.lang3.StringUtils; 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.fasterxml.jackson.annotation.JsonIgnore;
import com.nis.util.Configurations; import com.nis.util.Configurations;
import com.nis.util.Constants;
import com.nis.util.CookieUtil; import com.nis.util.CookieUtil;
import com.nis.util.StringUtil; import com.nis.util.StringUtil;
import com.nis.web.service.SpringContextHolder;
/** /**
* 分页类 * 分页类
@@ -52,8 +47,8 @@ public class Page<T> {
private String orderBy = ""; // 标准查询有效, 实例: updatedate desc, name asc private String orderBy = ""; // 标准查询有效, 实例: updatedate desc, name asc
private String fields ="";//制定资源的字段 private String fields;//制定资源的字段
private String alias = "";//T对应表的别名
private String where; private String where;
private String funcName = "page"; // 设置点击页码调用的js函数名称默认为page在一页有多个分页对象时使用。 private String funcName = "page"; // 设置点击页码调用的js函数名称默认为page在一页有多个分页对象时使用。
@@ -63,10 +58,9 @@ public class Page<T> {
private String message = ""; // 设置提示消息显示在“共n条”之后 private String message = ""; // 设置提示消息显示在“共n条”之后
public Page() { public Page() {
this.pageSize = pageSize; this.pageSize = -1;
} }
/** /**
* 构造方法 * 构造方法
* @param request 传递 repage 参数,来记住页码 * @param request 传递 repage 参数,来记住页码
@@ -74,27 +68,11 @@ public class Page<T> {
*/ */
public Page(HttpServletRequest request, HttpServletResponse response){ public Page(HttpServletRequest request, HttpServletResponse response){
this(request, response,Integer.valueOf(Configurations.getIntProperty("page.pageSize", 30))); 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)));
} }
public Page(HttpServletRequest request, HttpServletResponse response,String className, int defaultPageSize){ public Page(HttpServletRequest request, HttpServletResponse response, int defaultPageSize){
try { try {
// 设置页码参数传递repage参数来记住页码 // 设置页码参数传递repage参数来记住页码
String no = request.getParameter("pageNo"); String no = request.getParameter("pageNo");
@@ -111,7 +89,13 @@ public class Page<T> {
} }
// 设置页面大小参数传递repage参数来记住页码大小 // 设置页面大小参数传递repage参数来记住页码大小
String size = request.getParameter("pageSize"); String size = "";
if(defaultPageSize==-1){
size = "-1";
}else{
size = request.getParameter("pageSize");
}
if (StringUtils.isNotBlank(size)) { if (StringUtils.isNotBlank(size)) {
if (StringUtils.isNumeric(size) || size.equals("-1")){ if (StringUtils.isNumeric(size) || size.equals("-1")){
@@ -126,24 +110,20 @@ public class Page<T> {
} else { } else {
this.pageSize = defaultPageSize; this.pageSize = defaultPageSize;
} }
//超出每页最大显示条数,取限制的最大条数
if(this.pageSize > Constants.MAX_PAGE_SIZE){
this.pageSize = Constants.MAX_PAGE_SIZE;
}
String fields = request.getParameter("fields"); String fields = request.getParameter("fields");
if (StringUtils.isNotBlank(fields)){ if (StringUtils.isNotBlank(fields)){
fields=getFiledsSql(className, fields);
this.setFields(fields); this.setFields(fields);
} }
// 设置排序参数 // 设置排序参数
String orderBy = request.getParameter("orderBy"); String orderBy = request.getParameter("orderBy");
if (StringUtils.isNotBlank(orderBy)){ if (StringUtils.isNotBlank(orderBy)){
orderBy=getOrderBySql(className, orderBy);
this.setOrderBy(orderBy); this.setOrderBy(orderBy);
} }
this.count=Integer.valueOf(Configurations.getIntProperty("page.count", -1));
this.setWhere(getWhere(request));
} catch (Exception e) { } catch (Exception e) {
e.printStackTrace(); e.printStackTrace();
@@ -334,8 +314,8 @@ public class Page<T> {
sb.append("<li class=\"disabled controls\"><a href=\"javascript:\">当前 "); sb.append("<li class=\"disabled controls\"><a href=\"javascript:\">当前 ");
sb.append("<input type=\"text\" value=\""+pageNo+"\" onkeypress=\"var e=window.event||this;var c=e.keyCode||e.which;if(c==13)"); sb.append("<input type=\"text\" value=\""+pageNo+"\" onkeypress=\"var e=window.event||this;var c=e.keyCode||e.which;if(c==13)");
sb.append(funcName+"(this.value,"+pageSize+",'"+funcParam+"');\" onclick=\"this.select();\"/> / "); sb.append(funcName+"(this.value,"+pageSize+",'"+funcParam+"');\" onclick=\"this.select();\"/> / ");
sb.append("<input type=\"text\" value=\""+pageSize+"\" onkeypress=\"var e=window.event||this;var c=e.keyCode||e.which;if(c==13)"); sb.append("<input type=\"text\" value=\""+last+"\" onkeypress=\"var e=window.event||this;var c=e.keyCode||e.which;if(c==13)");
sb.append(funcName+"("+pageNo+",this.value,'"+funcParam+"');\" onclick=\"this.select();\"/> "); sb.append(funcName+"("+pageNo+",this.value,'"+funcParam+"');\" onclick=\"this.select();\"/> ");
sb.append("" + count + ""+(message!=null?message:"")+"</a></li>\n"); sb.append("" + count + ""+(message!=null?message:"")+"</a></li>\n");
sb.insert(0,"<ul>\n").append("</ul>\n"); sb.insert(0,"<ul>\n").append("</ul>\n");
@@ -643,271 +623,37 @@ public class Page<T> {
public int getMaxResults(){ public int getMaxResults(){
return getPageSize(); 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<String> columnList=new ArrayList<String>();
//所有属性名
List<String> propertyList=new ArrayList<String>();
//属性名称为key字段名称为value
Map<String, String> columnMap=new HashMap<String, String>();
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<ResultMapping> 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<String> columnList=new ArrayList<String>();
//所有属性名
List<String> propertyList=new ArrayList<String>();
//属性名称为key字段名称为value
Map<String, String> columnMap=new HashMap<String, String>();
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<ResultMapping> 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<String> columnList=new ArrayList<String>();
//所有属性名
List<String> propertyList=new ArrayList<String>();
Map<String, String> columnMap=new HashMap<String, String>();
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<ResultMapping> 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<String> columnList=new ArrayList<String>();
//所有属性名
List<String> propertyList=new ArrayList<String>();
Map<String, String> columnMap=new HashMap<String, String>();
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<ResultMapping> 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;
}
// /**
/** // * 获取 Spring data JPA 分页对象
* alias // */
* @return alias // public Pageable getSpringPage(){
*/ // List<Order> orders = new ArrayList<Order>();
// if (orderBy!=null){
public String getAlias() { // for (String order : StringUtils.split(orderBy, ",")){
return alias; // 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())){
* @param alias the alias to set // orders.add(new Order(Direction.DESC, o[0]));
*/ // }else{
public void setAlias(String alias) { // orders.add(new Order(Direction.ASC, o[0]));
this.alias = alias; // }
} // }
// }
// }
// return new PageRequest(this.pageNo - 1, this.pageSize, new Sort(orders));
// }
//
// /**
// * 设置 Spring data JPA 分页对象,转换为本系统分页对象
// */
// public void setSpringPage(org.springframework.data.domain.Page<T> page){
// this.pageNo = page.getNumber();
// this.pageSize = page.getSize();
// this.count = page.getTotalElements();
// this.list = page.getContent();
// }
} }

View File

@@ -74,14 +74,14 @@ public class FormAuthenticationFilter extends org.apache.shiro.web.filter.authc.
String className = e.getClass().getName(), message = ""; String className = e.getClass().getName(), message = "";
if (IncorrectCredentialsException.class.getName().equals(className) if (IncorrectCredentialsException.class.getName().equals(className)
|| UnknownAccountException.class.getName().equals(className)){ || UnknownAccountException.class.getName().equals(className)){
message = "用户或密码错误, 请重试."; message = "loginName_error";
} }
else if (e.getMessage() != null && StringUtils.startsWith(e.getMessage(), "msg:")){ else if (e.getMessage() != null && StringUtils.startsWith(e.getMessage(), "msg:")){
message = StringUtils.replace(e.getMessage(), "msg:", ""); message = StringUtils.replace(e.getMessage(), "msg:", "");
} }
else{ else{
message = "系统出现点问题,请稍后再试!"; message = "system_error";
e.printStackTrace(); // 输出到控制台 e.printStackTrace(); // 输出到控制台
} }
request.setAttribute(getFailureKeyAttribute(), className); request.setAttribute(getFailureKeyAttribute(), className);

View File

@@ -142,6 +142,13 @@ date_list=Date List
confirm_message=Are you sure? confirm_message=Are you sure?
fill_loginName=Please fill in the loginName fill_loginName=Please fill in the loginName
fill_loginPassWord=Please fill in the passWord 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===================== #==========message end=====================
#==========yewuliexingguanli begin===================== #==========yewuliexingguanli begin=====================
@@ -173,4 +180,52 @@ datebase_table=datebase table
fill_all=fill in all fill_all=fill in all
describe=describe describe=describe
back=back back=back
#==========yewuliexingguanli end===================== #==========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=====================

View File

@@ -142,6 +142,11 @@ date_list=Date List
confirm_message=Are you sure? confirm_message=Are you sure?
fill_loginName=Please fill in the loginName fill_loginName=Please fill in the loginName
fill_loginPassWord=Please fill in the passWord 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===================== #==========message end=====================
#==========yewuliexingguanli begin===================== #==========yewuliexingguanli begin=====================

View File

@@ -140,7 +140,13 @@ date_list=\u6570\u636e\u5217\u8868
confirm_message=\u786e\u5b9a\u5417\uff1f confirm_message=\u786e\u5b9a\u5417\uff1f
fill_loginName=\u8bf7\u586b\u5199\u767b\u5f55\u8d26\u53f7 fill_loginName=\u8bf7\u586b\u5199\u767b\u5f55\u8d26\u53f7
fill_loginPassWord=\u8bf7\u586b\u5199\u767b\u5f55\u5bc6\u7801 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===================== #==========message end=====================
#==========yewuliexingguanli begin===================== #==========yewuliexingguanli begin=====================
@@ -172,4 +178,52 @@ datebase_table=\u6570\u636e\u5e93\u8868
fill_all=\u8bf7\u586b\u5199\u6240\u6709\u5b57\u6bb5 fill_all=\u8bf7\u586b\u5199\u6240\u6709\u5b57\u6bb5
describe=\u63cf\u8ff0 describe=\u63cf\u8ff0
back=\u8fd4\u56de back=\u8fd4\u56de
#==========yewuliexingguanli end===================== #==========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=====================

View File

@@ -10,6 +10,7 @@
</div> </div>
</div> </div>
</div> </div>
<div class="col-md-6"> <div class="col-md-6">
<div class="form-group "> <div class="form-group ">
<label class="control-label col-md-3">匹配区域</label> <label class="control-label col-md-3">匹配区域</label>

View File

@@ -31,7 +31,7 @@ $(function(){
<div class="portlet-title"> <div class="portlet-title">
<div class="caption"> <div class="caption">
<i class="fa fa-gift"></i> <i class="fa fa-gift"></i>
<c:if test="${empty _cfg.cfgId}"><spring:message code="新增"></spring:message></c:if> <c:if test="${empty _cfg.cfgId}"><spring:message code="add"></spring:message></c:if>
<c:if test="${not empty _cfg.cfgId}"><spring:message code="edit"></spring:message></c:if> <c:if test="${not empty _cfg.cfgId}"><spring:message code="edit"></spring:message></c:if>
</div> </div>
<!-- <div class="tools"> <!-- <div class="tools">
@@ -81,8 +81,8 @@ $(function(){
<div class="col-md-6"> <div class="col-md-6">
<div class="row"> <div class="row">
<div class="col-md-offset-3 col-md-8"> <div class="col-md-offset-3 col-md-8">
<button id="save" type="submit" class="btn green">保存</button> <button id="save" type="submit" class="btn green"><spring:message code="submit"/></button>
<button id="cancel" type="button" class="btn default">Cancel</button> <button id="cancel" type="button" class="btn default"><spring:message code="cancel"/></button>
</div> </div>
</div> </div>
</div> </div>

View File

@@ -5,20 +5,6 @@
<title><spring:message code="${cfgName}"></spring:message></title> <title><spring:message code="${cfgName}"></spring:message></title>
<link href="${pageContext.request.contextPath}/static/global/plugins/bootstrap-select/css/bootstrap-select.min.css" rel="stylesheet"/> <link href="${pageContext.request.contextPath}/static/global/plugins/bootstrap-select/css/bootstrap-select.min.css" rel="stylesheet"/>
<script src="${pageContext.request.contextPath}/static/global/plugins/bootstrap-select/js/bootstrap-select.min.js"></script> <script src="${pageContext.request.contextPath}/static/global/plugins/bootstrap-select/js/bootstrap-select.min.js"></script>
<c:choose>
<c:when test="${cookie.Language.value eq 'zh_CN'}">
<script src="${pageContext.request.contextPath}/static/global/plugins/bootstrap-select/js/i18n/defaults-zh_CN.min.js"></script>
</c:when>
<c:when test="${cookie.Language.value eq 'en'}">
<script src="${pageContext.request.contextPath}/static/global/plugins/bootstrap-select/js/i18n/defaults-en_US.min.js"></script>
</c:when>
<c:when test="${cookie.Language.value eq 'ru_RU'}">
<script src="${pageContext.request.contextPath}/static/global/plugins/bootstrap-select/js/i18n/defaults-ru_RU.min.js"></script>
</c:when>
<c:otherwise>
<script src="${pageContext.request.contextPath}/static/global/plugins/bootstrap-select/js/i18n/defaults-en_US.min.js"></script>
</c:otherwise>
</c:choose>
<script> <script>
$(document).ready(function() { $(document).ready(function() {
@@ -112,10 +98,10 @@
<!-- <th>编译id</th> --> <!-- <th>编译id</th> -->
<th><spring:message code="whether_area_block"/></th> <th><spring:message code="whether_area_block"/></th>
<th><spring:message code="type"/></th> <th><spring:message code="type"/></th>
<th><spring:message code="type"/></th> <th><spring:message code="label"/></th>
<th><spring:message code="property"/></th> <th><spring:message code="property"/></th>
<!-- <th>区域生效id</th> --> <!-- <th>区域生效id</th> -->
<th><spring:message code="valid_indentifier"/></th> <th><spring:message code="valid_identifier"/></th>
<th><spring:message code="is_audit"/></th> <th><spring:message code="is_audit"/></th>
<th><spring:message code="creator"/></th> <th><spring:message code="creator"/></th>
<th><spring:message code="config_time"/></th> <th><spring:message code="config_time"/></th>

View File

@@ -74,8 +74,7 @@ $(function(){
$("input[name='dstIp']").val("::"); $("input[name='dstIp']").val("::");
} }
} }
}); });
$("#ipCfgFrom").validate({ $("#ipCfgFrom").validate({
rules: { rules: {
cfgDesc: { cfgDesc: {

View File

@@ -5,20 +5,6 @@
<title><spring:message code="${cfgName}"></spring:message></title> <title><spring:message code="${cfgName}"></spring:message></title>
<link href="${pageContext.request.contextPath}/static/global/plugins/bootstrap-select/css/bootstrap-select.min.css" rel="stylesheet"/> <link href="${pageContext.request.contextPath}/static/global/plugins/bootstrap-select/css/bootstrap-select.min.css" rel="stylesheet"/>
<script src="${pageContext.request.contextPath}/static/global/plugins/bootstrap-select/js/bootstrap-select.min.js"></script> <script src="${pageContext.request.contextPath}/static/global/plugins/bootstrap-select/js/bootstrap-select.min.js"></script>
<c:choose>
<c:when test="${cookie.Language.value eq 'zh_CN'}">
<script src="${pageContext.request.contextPath}/static/global/plugins/bootstrap-select/js/i18n/defaults-zh_CN.min.js"></script>
</c:when>
<c:when test="${cookie.Language.value eq 'en'}">
<script src="${pageContext.request.contextPath}/static/global/plugins/bootstrap-select/js/i18n/defaults-en_US.min.js"></script>
</c:when>
<c:when test="${cookie.Language.value eq 'ru_RU'}">
<script src="${pageContext.request.contextPath}/static/global/plugins/bootstrap-select/js/i18n/defaults-ru_RU.min.js"></script>
</c:when>
<c:otherwise>
<script src="${pageContext.request.contextPath}/static/global/plugins/bootstrap-select/js/i18n/defaults-en_US.min.js"></script>
</c:otherwise>
</c:choose>
<script> <script>
$(document).ready(function() { $(document).ready(function() {
@@ -37,13 +23,9 @@
<div class="page-content"> <div class="page-content">
<div class="theme-panel hidden-xs hidden-sm"> <div class="theme-panel hidden-xs hidden-sm">
<button type="button" class="btn btn-default" onclick="location='${ctx}/cfg/ip/list?serviceId=${serviceId}&action=${action}&cfgName=${cfgName}&audit=${audit}'"><spring:message code="refresh"></spring:message></button> <button type="button" class="btn btn-default" onclick="location='${ctx}/cfg/ip/list?serviceId=${serviceId}&action=${action}&cfgName=${cfgName}'"><spring:message code="refresh"></spring:message></button>
<c:if test="${audit==0 }">
<button type="button" class="btn btn-primary" <button type="button" class="btn btn-primary"
onClick="javascript:window.location='${ctx}/cfg/ip/form?serviceId=${serviceId}&action=${action}&cfgName=${cfgName}'"><spring:message code="add"></spring:message></button> onClick="javascript:window.location='${ctx}/cfg/ip/form?serviceId=${serviceId}&action=${action}&cfgName=${cfgName}'"><spring:message code="add"></spring:message></button>
</c:if>
</div> </div>
<h3 class="page-title"> <h3 class="page-title">
@@ -69,7 +51,6 @@
<div class="portlet-body"> <div class="portlet-body">
<div class="row" > <div class="row" >
<form:form id="searchForm" modelAttribute="ipCfg" action="${ctx}/cfg/ip/list?serviceId=${serviceId}&action=${action}&cfgName=${cfgName}" method="post" class="form-search"> <form:form id="searchForm" modelAttribute="ipCfg" action="${ctx}/cfg/ip/list?serviceId=${serviceId}&action=${action}&cfgName=${cfgName}" method="post" class="form-search">
<input id="audit" name="audit" type="hidden" value="${audit}"/>
<input id="pageNo" name="pageNo" type="hidden" value="${page.pageNo}"/> <input id="pageNo" name="pageNo" type="hidden" value="${page.pageNo}"/>
<input id="pageSize" name="pageSize" type="hidden" value="${page.pageSize}"/> <input id="pageSize" name="pageSize" type="hidden" value="${page.pageSize}"/>
<div class="col-md-12"> <div class="col-md-12">
@@ -132,16 +113,12 @@
<!-- <th>区域生效id</th> --> <!-- <th>区域生效id</th> -->
<th><spring:message code="valid_identifier"/></th> <th><spring:message code="valid_identifier"/></th>
<th><spring:message code="is_audit"/></th> <th><spring:message code="is_audit"/></th>
<c:if test="${audit==0}">
<th><spring:message code="creator"/></th> <th><spring:message code="creator"/></th>
<th><spring:message code="config_time"/></th> <th><spring:message code="config_time"/></th>
<th><spring:message code="editor"/></th> <th><spring:message code="editor"/></th>
<th><spring:message code="edit_time"/></th> <th><spring:message code="edit_time"/></th>
</c:if>
<c:if test="${audit==1}">
<th><spring:message code="auditor"/></th> <th><spring:message code="auditor"/></th>
<th><spring:message code="audit_time"/></th> <th><spring:message code="audit_time"/></th>
</c:if>
<th><spring:message code="operation"></spring:message></th> <th><spring:message code="operation"></spring:message></th>
</tr> </tr>
</thead> </thead>
@@ -160,11 +137,7 @@
<td>${ipCfg.dstPort }</td> <td>${ipCfg.dstPort }</td>
<td>${ipCfg.dstPortMask }</td> <td>${ipCfg.dstPortMask }</td>
<td>${ipCfg.direction }</td> <td>${ipCfg.direction }</td>
<td> <td>${ipCfg.protocol }</td>
<c:if test="${ipCfg.protocol==0 }">任意</c:if>
<c:if test="${ipCfg.protocol==6 }">TCP</c:if>
<c:if test="${ipCfg.protocol==17 }">UDP</c:if>
</td>
<%-- <td>${ipCfg.protocolId }</td> --%> <%-- <td>${ipCfg.protocolId }</td> --%>
<td> <td>
<c:if test="${1 eq ipCfg.action }"><spring:message code="block"/></c:if> <c:if test="${1 eq ipCfg.action }"><spring:message code="block"/></c:if>
@@ -219,50 +192,36 @@
<c:when test="${ipCfg.isAudit eq '3'}"><span class="label label-warning"><spring:message code="cancel_approved"></spring:message></span></c:when> <c:when test="${ipCfg.isAudit eq '3'}"><span class="label label-warning"><spring:message code="cancel_approved"></spring:message></span></c:when>
</c:choose> </c:choose>
</td> </td>
<c:if test="${audit==0}">
<td>${ipCfg.creatorName }</td> <td>${ipCfg.creatorName }</td>
<td><fmt:formatDate value="${ipCfg.createTime }" pattern="yyyy-MM-dd HH:mm:ss"/></td> <td><fmt:formatDate value="${ipCfg.createTime }" pattern="yyyy-MM-dd HH:mm:ss"/></td>
<td>${ipCfg.editorName }</td> <td>${ipCfg.editorName }</td>
<td><fmt:formatDate value="${ipCfg.editTime }" pattern="yyyy-MM-dd HH:mm:ss"/></td> <td><fmt:formatDate value="${ipCfg.editTime }" pattern="yyyy-MM-dd HH:mm:ss"/></td>
</c:if>
<c:if test="${audit==1}">
<td>${ipCfg.auditorName }</td> <td>${ipCfg.auditorName }</td>
<td><fmt:formatDate value="${ipCfg.auditTime }" pattern="yyyy-MM-dd HH:mm:ss"/></td> <td><fmt:formatDate value="${ipCfg.auditTime }" pattern="yyyy-MM-dd HH:mm:ss"/></td>
</c:if>
<td> <td>
<div class="btn-group btn-xs"> <div class="btn-group btn-xs">
<a class="btn btn-primary btn-xs dropdown-toggle" data-toggle="dropdown" href="#"><spring:message code="operation"></spring:message><span class="caret"></span></a> <a class="btn btn-primary btn-xs dropdown-toggle" data-toggle="dropdown" href="#"><spring:message code="operation"></spring:message><span class="caret"></span></a>
<ul class="dropdown-menu btn-xs"> <ul class="dropdown-menu btn-xs">
<c:if test="${audit==0}"> <!-- 审核未通过可修改 -->
<c:choose> <c:choose>
<c:when test="${ipCfg.isAudit eq '0'}">
<li><a href="${ctx}/cfg/ip/updateForm?serviceId=${ipCfg.serviceId}&action=${ipCfg.action}&tableName=${ipCfg.tableName}&cfgId=${ipCfg.cfgId}&cfgName=${cfgName}" onclick="javascript:return confirm('sure', this.href)"><spring:message code="edit"></spring:message></a></li>
<li><a href="${ctx}/cfg/ip/deleteCfg?serviceId=${ipCfg.serviceId}&action=${ipCfg.action}&tableName=${ipCfg.tableName}&cfgId=${ipCfg.cfgId}&cfgName=${cfgName}" onclick="return confirm('sure', this.href)"><spring:message code="delete"></spring:message></a></li>
</c:when>
<c:when test="${ipCfg.isAudit eq '1'}"></c:when>
<c:otherwise>
<li><a href="${ctx}/cfg/ip/updateForm?serviceId=${ipCfg.serviceId}&action=${ipCfg.action}&tableName=${ipCfg.tableName}&cfgId=${ipCfg.cfgId}&cfgName=${cfgName}" onclick="javascript:return confirm('sure', this.href)"><spring:message code="edit"></spring:message></a></li>
<%-- <li><a href="${ctx}/cfg/ip/deleteCfg?serviceId=${ipCfg.serviceId}&action=${ipCfg.action}&tableName=${ipCfg.tableName}&cfgId=${ipCfg.cfgId}&cfgName=${cfgName}" onclick="return confirm('sure', this.href)"><spring:message code="delete"></spring:message></a></li> --%>
</c:otherwise>
</c:choose>
</c:if>
<c:if test="${audit==1}">
<c:choose>
<c:when test="${ipCfg.isAudit eq '1'}"> <c:when test="${ipCfg.isAudit eq '1'}">
<li><a href="${ctx}/cfg/ip/auditCfg?serviceId=${ipCfg.serviceId}&action=${ipCfg.action}&tableName=${ipCfg.tableName}&cfgId=${ipCfg.cfgId}&isAudit=3&cfgName=${cfgName}" onclick="return confirm('sure', this.href)"><spring:message code="cancel"></spring:message></a></li> <li><a href="${ctx}/cfg/ip/auditCfg?serviceId=${ipCfg.serviceId}&action=${ipCfg.action}&tableName=${ipCfg.tableName}&cfgId=${ipCfg.cfgId}&isAudit=3&cfgName=${cfgName}" onclick="return confirm('sure', this.href)"><spring:message code="cancel"></spring:message></a></li>
</c:when> </c:when>
<c:when test="${ipCfg.isAudit eq '0'}"> <c:when test="${ipCfg.isAudit eq '0'}">
<li><a href="${ctx}/cfg/ip/auditCfg?serviceId=${ipCfg.serviceId}&action=${ipCfg.action}&tableName=${ipCfg.tableName}&cfgId=${ipCfg.cfgId}&isAudit=2&cfgName=${cfgName}" onclick="return confirm('sure', this.href)"><spring:message code="unapproved"></spring:message></a></li> <li><a href="${ctx}/cfg/ip/auditCfg?serviceId=${ipCfg.serviceId}&action=${ipCfg.action}&tableName=${ipCfg.tableName}&cfgId=${ipCfg.cfgId}&isAudit=2&cfgName=${cfgName}" onclick="return confirm('sure', this.href)"><spring:message code="unapproved"></spring:message></a></li>
<li><a href="${ctx}/cfg/ip/auditCfg?serviceId=${ipCfg.serviceId}&action=${ipCfg.action}&tableName=${ipCfg.tableName}&cfgId=${ipCfg.cfgId}&isAudit=1&cfgName=${cfgName}" onclick="return confirm('sure', this.href)"><spring:message code="approved"></spring:message></a></li> <li><a href="${ctx}/cfg/ip/auditCfg?serviceId=${ipCfg.serviceId}&action=${ipCfg.action}&tableName=${ipCfg.tableName}&cfgId=${ipCfg.cfgId}&isAudit=1&cfgName=${cfgName}" onclick="return confirm('sure', this.href)"><spring:message code="approved"></spring:message></a></li>
<li><a href="${ctx}/cfg/ip/deleteCfg?serviceId=${ipCfg.serviceId}&action=${ipCfg.action}&tableName=${ipCfg.tableName}&cfgId=${ipCfg.cfgId}&cfgName=${cfgName}" onclick="return confirm('sure', this.href)"><spring:message code="delete"></spring:message></a></li>
</c:when> </c:when>
<c:when test="${ipCfg.isAudit eq '2'}"> <c:when test="${ipCfg.isAudit eq '2'}">
<li><a href="${ctx}/cfg/ip/updateForm?serviceId=${ipCfg.serviceId}&action=${ipCfg.action}&tableName=${ipCfg.tableName}&cfgId=${ipCfg.cfgId}&cfgName=${cfgName}" onclick="javascript:return confirm('sure', this.href)"><spring:message code="edit"></spring:message></a></li>
<li><a href="${ctx}/cfg/ip/auditCfg?serviceId=${ipCfg.serviceId}&action=${ipCfg.action}&tableName=${ipCfg.tableName}&cfgId=${ipCfg.cfgId}&isAudit=1&cfgName=${cfgName}" onclick="return confirm('sure', this.href)"><spring:message code="approved"></spring:message></a></li> <li><a href="${ctx}/cfg/ip/auditCfg?serviceId=${ipCfg.serviceId}&action=${ipCfg.action}&tableName=${ipCfg.tableName}&cfgId=${ipCfg.cfgId}&isAudit=1&cfgName=${cfgName}" onclick="return confirm('sure', this.href)"><spring:message code="approved"></spring:message></a></li>
<li><a href="${ctx}/cfg/ip/deleteCfg?serviceId=${ipCfg.serviceId}&action=${ipCfg.action}&tableName=${ipCfg.tableName}&cfgId=${ipCfg.cfgId}&cfgName=${cfgName}" onclick="return confirm('sure', this.href)"><spring:message code="delete"></spring:message></a></li>
</c:when> </c:when>
<c:otherwise> <c:otherwise>
<li><a href="${ctx}/cfg/ip/auditCfg?serviceId=${ipCfg.serviceId}&action=${ipCfg.action}&tableName=${ipCfg.tableName}&cfgId=${ipCfg.cfgId}&isAudit=1&cfgName=${cfgName}" onclick="return confirm('sure', this.href)"><spring:message code="approved"></spring:message></a></li>
<li><a href="${ctx}/cfg/ip/deleteCfg?serviceId=${ipCfg.serviceId}&action=${ipCfg.action}&tableName=${ipCfg.tableName}&cfgId=${ipCfg.cfgId}&cfgName=${cfgName}" onclick="return confirm('sure', this.href)"><spring:message code="delete"></spring:message></a></li>
</c:otherwise> </c:otherwise>
</c:choose> </c:choose>
</c:if>
</ul> </ul>
</div> </div>
</td> </td>

View File

@@ -80,7 +80,7 @@
<p> <p>
<div id="messageBox" class="alert alert-danger ${empty message ? 'hide' : ''}"> <div id="messageBox" class="alert alert-danger ${empty message ? 'hide' : ''}">
<span class="label label-danger">ERROR:&nbsp;&nbsp;</span> <span class="label label-danger">ERROR:&nbsp;&nbsp;</span>
<label id="loginError" class="error">${message}</label> <label id="loginError" class="error"><spring:message code="${message}"></spring:message></label>
</div> </div>
</p> </p>

View File

@@ -154,14 +154,14 @@
function addDatatable() { function addDatatable() {
$("#datatables").append( $("#datatables").append(
'<div class="table-list col-md-10">' + '<div class="table-list col-md-10">' +
'<div>' + '<div class="table-item">' +
'<input type="hidden" name="sciId" value="0"/>' + '<input type="hidden" name="sciId" value="0"/>' +
'<input type="hidden" name="sciIsValid" value="1"/>' + '<input type="hidden" name="sciIsValid" value="1"/>' +
'<span class="child-label col-md-2"><font color="red">*</font>'+'<spring:message code="table_name"/>'+':</span> ' + '<span class="child-label col-md-3"><font color="red">*</font>'+'<spring:message code="table_name"/>'+':</span> ' +
'<span><input class="child-required form-control child-input" name="tableName"/></span> ' + '<span><input class="child-required form-control child-input" name="tableName"/></span> ' +
'</div>' + '</div>' +
'<div>' + '<div class="table-item">' +
'<span class="child-label col-md-2"><font color="red">*</font>'+'<spring:message code="table_type"/>'+':</span> ' + '<span class="child-label col-md-3"><font color="red">*</font>'+'<spring:message code="table_type"/>'+':</span> ' +
'<span> ' + '<span> ' +
'<select class="child-required child-input" name="tableType" onchange="autoServiceId()"> ' + '<select class="child-required child-input" name="tableType" onchange="autoServiceId()"> ' +
'<option value="">'+'<spring:message code="select"/>'+'</option>' + '<option value="">'+'<spring:message code="select"/>'+'</option>' +
@@ -172,12 +172,12 @@
'</select>' + '</select>' +
'</span> ' + '</span> ' +
'</div>' + '</div>' +
'<div>' + '<div class="table-item">' +
'<span class="child-label col-md-2"><font color="red">*</font>MAAT '+'<spring:message code="table_name"/>'+':</span> ' + '<span class="child-label col-md-3"><font color="red">*</font>MAAT '+'<spring:message code="table_name"/>'+':</span> ' +
'<span><input class="child-required form-control child-input" name="maatTable"/></span>' + '<span><input class="child-required form-control child-input" name="maatTable"/></span>' +
'</div>' + '</div>' +
'<div>' + '<div class="table-item">' +
'<span class="child-label col-md-2"><font color="red">*</font>'+'<spring:message code="table_des"/>'+':</span> ' + '<span class="child-label col-md-3"><font color="red">*</font>'+'<spring:message code="table_des"/>'+':</span> ' +
'<span><input class="child-required form-control child-input" name="tableDesc"/></span>' + '<span><input class="child-required form-control child-input" name="tableDesc"/></span>' +
'<button type="button" class="btn btn-danger del-button" onclick="del2(this)">'+'<spring:message code="delete"/>'+'</button>' + '<button type="button" class="btn btn-danger del-button" onclick="del2(this)">'+'<spring:message code="delete"/>'+'</button>' +
'</div>' + '</div>' +
@@ -273,15 +273,15 @@
</shiro:hasPermission> </shiro:hasPermission>
<c:forEach items="${systemServiceInfo.serviceConfigInfoList }" var="serviceConfigInfo"> <c:forEach items="${systemServiceInfo.serviceConfigInfoList }" var="serviceConfigInfo">
<div class="table-list col-md-10"> <div class="table-list col-md-10">
<div> <div class="table-item">
<input type="hidden" name="sciId" value="${serviceConfigInfo.id }"/> <input type="hidden" name="sciId" value="${serviceConfigInfo.id }"/>
<input type="hidden" name="sciIsValid" value="1"/> <input type="hidden" name="sciIsValid" value="1"/>
<span class="child-label col-md-2"><font color="red">*</font><spring:message code="table_name"/>:</span> <span class="child-label col-md-3"><font color="red">*</font><spring:message code="table_name"/>:</span>
<span><input class="child-required form-control child-input" name="tableName" value="${serviceConfigInfo.tableName }"/></span> <span><input class="child-required form-control child-input" name="tableName" value="${serviceConfigInfo.tableName }"/></span>
</div> </div>
<div> <div class="table-item">
<span class="child-label col-md-2"><font color="red">*</font><spring:message code="table_type"/>:</span> <span class="child-label col-md-3"><font color="red">*</font><spring:message code="table_type"/>:</span>
<span> <span>
<select class="child-required child-input" name="tableType"> <select class="child-required child-input" name="tableType">
<option value=""><spring:message code="select"/></option> <option value=""><spring:message code="select"/></option>
@@ -292,12 +292,12 @@
</select> </select>
</span> </span>
</div> </div>
<div> <div class="table-item">
<span class="child-label col-md-2"><font color="red">*</font>MAAT <spring:message code="table_name"/>:</span> <span class="child-label col-md-3"><font color="red">*</font>MAAT <spring:message code="table_name"/>:</span>
<span><input class="child-required form-control child-input" name="maatTable" value="${serviceConfigInfo.maatTable }"/></span> <span><input class="child-required form-control child-input" name="maatTable" value="${serviceConfigInfo.maatTable }"/></span>
</div> </div>
<div> <div class="table-item">
<span class="child-label col-md-2"><font color="red">*</font><spring:message code="table_des"/>:</span> <span class="child-label col-md-3"><font color="red">*</font><spring:message code="table_des"/>:</span>
<span><input class="child-required form-control child-input" name="tableDesc" value="${serviceConfigInfo.tableDesc }"/></span> <span><input class="child-required form-control child-input" name="tableDesc" value="${serviceConfigInfo.tableDesc }"/></span>
<button type="button" class="btn btn-danger del-button" onclick="del(this)"><spring:message code="delete"/></button> <button type="button" class="btn btn-danger del-button" onclick="del(this)"><spring:message code="delete"/></button>

View File

@@ -49,4 +49,8 @@ select, input {
margin-top: 15px; margin-top: 15px;
margin-bottom: 15px; margin-bottom: 15px;
background-color: #F8F8FF; background-color: #F8F8FF;
}
.table-item {
margin-top: 5px;
margin-bottom: 5px;
} }