Commit e2a64d42 authored by Huang's avatar Huang
Browse files

no commit message

parent 0844dd86
<%@ tag language="java" pageEncoding="UTF-8"%>
<%@ include file="/WEB-INF/views/include/taglib.jsp"%>
<%@ attribute name="page" type="com.jeespring.common.persistence.Page" required="true"%>
<%-- 表格分页工具栏,使用方法: 原样输出page --%>
${page.toStringPage()}
\ No newline at end of file
<%@ tag language="java" pageEncoding="UTF-8"%>
<%@ include file="/WEB-INF/views/include/taglib.jsp"%>
<%@ attribute name="id" type="java.lang.String" required="true"%>
<%@ attribute name="name" type="java.lang.String" required="true"%>
<%@ attribute name="value" type="java.lang.String" required="true"%>
<%@ attribute name="callback" type="java.lang.String" required="true"%>
<input id="${id}" name="${name}" type="hidden" value="${value}"/>
<%-- 使用方法: 1.将本tag写在查询的from里;2.在需要排序th列class上添加:sort-column + 排序字段名;3.后台sql添加排序引用page.orderBy;实例文件:userList.jsp、UserDao.xml --%>
<script type="text/javascript">
$(document).ready(function() {
var orderBy = $("#${id}").val().split(" ");
$(".sort-column").each(function(){
$(this).html($(this).html()+" <i class=\"fa fa-sort\"></i>");
});
$(".sort-column").each(function(){
if ($(this).hasClass(orderBy[0])){
orderBy[1] = orderBy[1]&&orderBy[1].toUpperCase()=="DESC"?"down":"up";
$(this).find("i").remove();
$(this).html($(this).html()+" <i class=\"fa fa-sort-"+orderBy[1]+"\"></i>");
}
});
$(".sort-column").click(function(){
var order = $(this).attr("class").split(" ");
var sort = $("#${id}").val().split(" ");
for(var i=0; i<order.length; i++){
if (order[i] == "sort-column"){order = order[i+1]; break;}
}
if (order == sort[0]){
sort = (sort[1]&&sort[1].toUpperCase()=="DESC"?"ASC":"DESC");
$("#${id}").val(order+" DESC"!=order+" "+sort?"":order+" "+sort);
}else{
$("#${id}").val(order+" ASC");
}
${callback}
});
});
</script>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8" ?>
<taglib xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance http://www.springmodules.org/schema/cache/springmodules-cache.xsd "
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-jsptaglibrary_2_0.xsd http://www.springmodules.org/schema/cache/springmodules-ehcache.xsd "
version="2.0">
<description>ECharts图表</description>
<tlib-version>1.1</tlib-version>
<short-name>echarts</short-name>
<uri>/echarts</uri>
<tag>
<name>line</name>
<tag-class>com.jeespring.common.tag.echarts.EChartsLineTag</tag-class>
<body-content>scriptless</body-content>
<attribute>
<name>id</name>
<description>与div里面的id相同</description>
<required>true</required>
<rtexprvalue>true</rtexprvalue>
</attribute>
<attribute>
<name>title</name>
<description>图表的标题</description>
<required>true</required>
<rtexprvalue>true</rtexprvalue>
</attribute>
<attribute>
<name>subtitle</name>
<description>图表的副标题</description>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
</attribute>
<attribute>
<name>xAxisName</name>
<description>X轴的名称</description>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
</attribute>
<attribute>
<name>yAxisName</name>
<description>Y轴的名称</description>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
</attribute>
<attribute>
<name>xAxisData</name>
<description>X轴的数据</description>
<required>true</required>
<rtexprvalue>true</rtexprvalue>
<type>java.lang.Object</type>
</attribute>
<attribute>
<name>yAxisData</name>
<description>Y轴的数据</description>
<required>true</required>
<rtexprvalue>true</rtexprvalue>
<type>java.lang.Object</type>
</attribute>
<attribute>
<name>yAxisIndex</name>
<description>图表中的数据对应的Y轴</description>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
<type>java.lang.Object</type>
</attribute>
</tag>
<tag>
<name>lineDoubleNum</name>
<tag-class>com.jeespring.common.tag.echarts.EChartsLineDoubleNumTag</tag-class>
<body-content>scriptless</body-content>
<attribute>
<name>id</name>
<description>与div里面的id相同</description>
<required>true</required>
<rtexprvalue>true</rtexprvalue>
</attribute>
<attribute>
<name>title</name>
<description>图表的标题</description>
<required>true</required>
<rtexprvalue>true</rtexprvalue>
</attribute>
<attribute>
<name>subtitle</name>
<description>图表的副标题</description>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
</attribute>
<attribute>
<name>xAxisName</name>
<description>X轴的名称</description>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
</attribute>
<attribute>
<name>yAxisName</name>
<description>Y轴的名称</description>
<required>false</required>
<rtexprvalue
>true</rtexprvalue>
</attribute>
<attribute>
<name>axisDataArr</name>
<description>Y轴的数据</description>
<required>true</required>
<rtexprvalue>true</rtexprvalue>
<type>java.lang.Object</type>
</attribute>
<attribute>
<name>yAxisIndex</name>
<description>图表中的数据对应的Y轴</description>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
<type>java.lang.Object</type>
</attribute>
</tag>
<tag>
<name>lineTimeLine</name>
<tag-class>com.jeespring.common.tag.echarts.EChartsLineTimeLineTag</tag-class>
<body-content>scriptless</body-content>
<attribute>
<name>id</name>
<description>与div里面的id相同</description>
<required>true</required>
<rtexprvalue>true</rtexprvalue>
</attribute>
<attribute>
<name>title</name>
<description>图表的标题</description>
<required>true</required>
<rtexprvalue>true</rtexprvalue>
</attribute>
<attribute>
<name>subtitle</name>
<description>图表的副标题</description>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
</attribute>
<attribute>
<name>xAxisName</name>
<description>X轴的名称</description>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
</attribute>
<attribute>
<name>yAxisName</name>
<description>Y轴的名称</description>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
</attribute>
<attribute>
<name>xAxisData</name>
<description>X轴的数据</description>
<required>true</required>
<rtexprvalue>true</rtexprvalue>
<type>java.lang.Object</type>
</attribute>
<attribute>
<name>yAxisData</name>
<description>Y轴的数据</description>
<required>true</required>
<rtexprvalue>true</rtexprvalue>
<type>java.lang.Object</type>
</attribute>
<attribute>
<name>yAxisIndex</name>
<description>图表中的数据对应的Y轴</description>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
<type>java.lang.Object</type>
</attribute>
<attribute>
<name>timelineData</name>
<description>时间轴的名称</description>
<required>true</required>
<rtexprvalue>true</rtexprvalue>
<type>java.lang.Object</type>
</attribute>
<attribute>
<name>timelineAxisData</name>
<description>时间轴的数据</description>
<required>true</required>
<rtexprvalue>true</rtexprvalue>
<type>java.lang.Object</type>
</attribute>
</tag>
<tag>
<name>bar</name>
<tag-class>com.jeespring.common.tag.echarts.EChartsBarTag</tag-class>
<body-content>scriptless</body-content>
<attribute>
<name>id</name>
<description>与div里面的id相同</description>
<required>true</required>
<rtexprvalue>true</rtexprvalue>
</attribute>
<attribute>
<name>title</name>
<description>图表的标题</description>
<required>true</required>
<rtexprvalue>true</rtexprvalue>
</attribute>
<attribute>
<name>subtitle</name>
<description>图表的副标题</description>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
</attribute>
<attribute>
<name>xAxisName</name>
<description>X轴的名称</description>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
</attribute>
<attribute>
<name>yAxisName</name>
<description>Y轴的名称</description>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
</attribute>
<attribute>
<name>xAxisData</name>
<description>X轴的数据</description>
<required>true</required>
<rtexprvalue>true</rtexprvalue>
<type>java.lang.Object</type>
</attribute>
<attribute>
<name>yAxisData</name>
<description>Y轴的数据</description>
<required>true</required>
<rtexprvalue>true</rtexprvalue>
<type>java.lang.Object</type>
</attribute>
<attribute>
<name>yAxisIndex</name>
<description>图表中的数据对应的Y轴</description>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
<type>java.lang.Object</type>
</attribute>
</tag>
<tag>
<name>pie</name>
<tag-class>com.jeespring.common.tag.echarts.EChartsPieTag</tag-class>
<body-content>scriptless</body-content>
<attribute>
<name>id</name>
<description>与div里面的id相同</description>
<required>true</required>
<rtexprvalue>true</rtexprvalue>
</attribute>
<attribute>
<name>title</name>
<description>图表的标题</description>
<required>true</required>
<rtexprvalue>true</rtexprvalue>
</attribute>
<attribute>
<name>subtitle</name>
<description>图表的副标题</description>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
</attribute>
<attribute>
<name>orientData</name>
<description>图表的数据</description>
<required>true</required>
<rtexprvalue>true</rtexprvalue>
<type>java.lang.Object</type>
</attribute>
</tag>
<tag>
<name>radar</name>
<tag-class>com.jeespring.common.tag.echarts.EChartsRadarTag</tag-class>
<body-content>scriptless</body-content>
<attribute>
<name>id</name>
<description>与div里面的id相同</description>
<required>true</required>
<rtexprvalue>true</rtexprvalue>
</attribute>
<attribute>
<name>title</name>
<description>图表的标题</description>
<required>true</required>
<rtexprvalue>true</rtexprvalue>
</attribute>
<attribute>
<name>subtitle</name>
<description>图表的副标题</description>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
</attribute>
<attribute>
<name>polarType</name>
<description>玫瑰图方位:8、16</description>
<required>true</required>
<rtexprvalue>true</rtexprvalue>
</attribute>
<attribute>
<name>orientData</name>
<description>图表的数据</description>
<required>true</required>
<rtexprvalue>true</rtexprvalue>
<type>java.lang.Object</type>
</attribute>
</tag>
</taglib>
<?xml version="1.0" encoding="UTF-8" ?>
<taglib xmlns="http://java.sun.com/xml/ns/j2ee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-jsptaglibrary_2_0.xsd"
version="2.0">
<description>JSTL 1.1 functions library</description>
<display-name>JSTL functions cms</display-name>
<tlib-version>1.1</tlib-version>
<short-name>fnc</short-name>
<uri>http://java.sun.com/jsp/jstl/functionsc</uri>
<function>
<description>获取当前管理站点编号</description>
<name>getCurrentSiteId</name>
<function-class>com.jeespring.modules.cms.entity.Site</function-class>
<function-signature>java.lang.String getCurrentSiteId()</function-signature>
<example>${fnc:getCurrentSiteId()}</example>
</function>
<function>
<description>获取站点</description>
<name>getSite</name>
<function-class>com.jeespring.modules.cms.utils.CmsUtils</function-class>
<function-signature>com.jeespring.modules.cms.entity.Site getSite(java.lang.String)</function-signature>
<example>${fnc:getSite(siteId)}</example>
</function>
<function>
<description>获取站点列表</description>
<name>getSiteList</name>
<function-class>com.jeespring.modules.cms.utils.CmsUtils</function-class>
<function-signature>java.util.List getSiteList()</function-signature>
<example>${fnc:getSiteList()}</example>
</function>
<function>
<description>获取主导航列表</description>
<name>getMainNavList</name>
<function-class>com.jeespring.modules.cms.utils.CmsUtils</function-class>
<function-signature>java.util.List getMainNavList(java.lang.String)</function-signature>
<example>${fnc:getMainNavList(siteId)}</example>
</function>
<function>
<description>获取栏目</description>
<name>getCategory</name>
<function-class>com.jeespring.modules.cms.utils.CmsUtils</function-class>
<function-signature>com.jeespring.modules.cms.entity.Category getCategory(java.lang.String)</function-signature>
<example>${fnc:getCategory(categoryId)}</example>
</function>
<function>
<description>获得栏目列表</description>
<name>getCategoryList</name>
<function-class>com.jeespring.modules.cms.utils.CmsUtils</function-class>
<function-signature>java.util.List getCategoryList(java.lang.String, java.lang.String, int, java.lang.String)</function-signature>
<example>${fnc:getCategoryList(siteId, parentId, number, param)}</example>
</function>
<function>
<description>获得栏目列表</description>
<name>getCategoryListByIds</name>
<function-class>com.jeespring.modules.cms.utils.CmsUtils</function-class>
<function-signature>java.util.List getCategoryListByIds(java.lang.String)</function-signature>
<example>${fnc:getCategoryListByIds(categoryIds)}</example>
</function>
<function>
<description>获取文章</description>
<name>getArticle</name>
<function-class>com.jeespring.modules.cms.utils.CmsUtils</function-class>
<function-signature>com.jeespring.modules.cms.entity.Article getArticle(java.lang.String)</function-signature>
<example>${fnc:getArticle(articleId)}</example>
</function>
<function>
<description>获取文章列表</description>
<name>getArticleList</name>
<function-class>com.jeespring.modules.cms.utils.CmsUtils</function-class>
<function-signature>java.util.List getArticleList(java.lang.String, java.lang.String, int, java.lang.String)</function-signature>
<example>${fnc:getArticleList(siteId, categoryId, number, param)}</example>
</function>
<function>
<description>获取链接</description>
<name>getLink</name>
<function-class>com.jeespring.modules.cms.utils.CmsUtils</function-class>
<function-signature>com.jeespring.modules.cms.entity.Link getLink(java.lang.String)</function-signature>
<example>${fnc:getLink(linkId)}</example>
</function>
<function>
<description>获取链接列表</description>
<name>getLinkList</name>
<function-class>com.jeespring.modules.cms.utils.CmsUtils</function-class>
<function-signature>java.util.List getLinkList(java.lang.String, java.lang.String, int, java.lang.String)</function-signature>
<example>${fnc:getLinkList(siteId, categoryId, number, param)}</example>
</function>
</taglib>
<?xml version="1.0" encoding="UTF-8" ?>
<taglib xmlns="http://java.sun.com/xml/ns/j2ee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-jsptaglibrary_2_0.xsd"
version="2.0">
<description>JSTL 1.1 functions library</description>
<display-name>JSTL functions sys</display-name>
<tlib-version>1.1</tlib-version>
<short-name>fns</short-name>
<uri>http://java.sun.com/jsp/jstl/functionss</uri>
<function>
<description>获取管理路径</description>
<name>getAdminPath</name>
<function-class>com.jeespring.common.config.Global</function-class>
<function-signature>java.lang.String getAdminPath()</function-signature>
<example>${fns:getAdminPath()}</example>
</function>
<function>
<description>获取网站路径</description>
<name>getFrontPath</name>
<function-class>com.jeespring.common.config.Global</function-class>
<function-signature>java.lang.String getFrontPath()</function-signature>
<example>${fns:getFrontPath()}</example>
</function>
<function>
<description>获取网站URL后缀</description>
<name>getUrlSuffix</name>
<function-class>com.jeespring.common.config.Global</function-class>
<function-signature>java.lang.String getUrlSuffix()</function-signature>
<example>${fns:getUrlSuffix()}</example>
</function>
<function>
<description>获取配置</description>
<name>getConfig</name>
<function-class>com.jeespring.common.config.Global</function-class>
<function-signature>java.lang.String getConfig(java.lang.String)</function-signature>
<example>${fns:getConfig(key)}</example>
</function>
<function>
<description>获取常量</description>
<name>getConst</name>
<function-class>com.jeespring.common.config.Global</function-class>
<function-signature>java.lang.Object getConst(java.lang.String)</function-signature>
<example>${fns:getConst(key)}</example>
</function>
<!-- UserUtils -->
<function>
<description>获取当前用户对象</description>
<name>getUser</name>
<function-class>com.jeespring.modules.sys.utils.UserUtils</function-class>
<function-signature>com.jeespring.modules.sys.entity.User getUser()</function-signature>
<example>${fns:getUser()}</example>
</function>
<function>
<description>根据编码获取用户对象</description>
<name>getUserById</name>
<function-class>com.jeespring.modules.sys.utils.UserUtils</function-class>
<function-signature>com.jeespring.modules.sys.entity.User get(java.lang.String)</function-signature>
<example>${fns:getUserById(id)}</example>
</function>
<function>
<description>获取授权用户信息</description>
<name>getPrincipal</name>
<function-class>com.jeespring.modules.sys.utils.UserUtils</function-class>
<function-signature>com.jeespring.modules.sys.security.SystemAuthorizingRealm.Principal getPrincipal()</function-signature>
<example>${fns:getPrincipal()}</example>
</function>
<function>
<description>获取当前用户的菜单对象列表</description>
<name>getMenuList</name>
<function-class>com.jeespring.modules.sys.utils.UserUtils</function-class>
<function-signature>java.util.List getMenuList()</function-signature>
<example>${fns:getMenuList()}</example>
</function>
<function>
<description>获取当前用户的菜单对象列表</description>
<name>getTopMenu</name>
<function-class>com.jeespring.modules.sys.utils.UserUtils</function-class>
<function-signature>com.jeespring.modules.sys.entity.Menu getTopMenu()</function-signature>
<example>${fns:getTopMenu()}</example>
</function>
<function>
<description>获取当前时间与指定时间的差值</description>
<name>getTime</name>
<function-class>com.jeespring.modules.sys.utils.UserUtils</function-class>
<function-signature>java.util.Date getTime(java.util.Date)</function-signature>
<example>${fns:getTime(java.util.Date)}</example>
</function>
<function>
<description>获取当前用户的区域对象列表</description>
<name>getAreaList</name>
<function-class>com.jeespring.modules.sys.utils.UserUtils</function-class>
<function-signature>java.util.List getAreaList()</function-signature>
<example>${fns:getAreaList()}</example>
</function>
<function>
<description>获取当前用户的部门对象列表</description>
<name>getOfficeList</name>
<function-class>com.jeespring.modules.sys.utils.UserUtils</function-class>
<function-signature>java.util.List getOfficeList()</function-signature>
<example>${fns:getOfficeList()}</example>
</function>
<function>
<description>获取当前用户缓存</description>
<name>getCache</name>
<function-class>com.jeespring.modules.sys.utils.UserUtils</function-class>
<function-signature>java.lang.Object getCache(java.lang.String, java.lang.Object)</function-signature>
<example>${fns:getCache(cacheName, defaultValue)}</example>
</function>
<!-- DictUtils -->
<function>
<description>获取字典标签</description>
<name>getDictLabel</name>
<function-class>com.jeespring.modules.sys.utils.DictUtils</function-class>
<function-signature>java.lang.String getDictLabel(java.lang.String, java.lang.String, java.lang.String)</function-signature>
<example>${fns:getDictLabel(value, type, defaultValue)}</example>
</function>
<function>
<description>获取字典标签(多个)</description>
<name>getDictLabels</name>
<function-class>com.jeespring.modules.sys.utils.DictUtils</function-class>
<function-signature>java.lang.String getDictLabels(java.lang.String, java.lang.String, java.lang.String)</function-signature>
<example>${fns:getDictLabels(values, type, defaultValue)}</example>
</function>
<function>
<description>获取字典值</description>
<name>getDictValue</name>
<function-class>com.jeespring.modules.sys.utils.DictUtils</function-class>
<function-signature>java.lang.String getDictValue(java.lang.String, java.lang.String, java.lang.String)</function-signature>
<example>${fns:getDictValue(label, type, defaultValue)}</example>
</function>
<function>
<description>获取字典对象列表</description>
<name>getDictList</name>
<function-class>com.jeespring.modules.sys.utils.DictUtils</function-class>
<function-signature>java.util.List getDictList(java.lang.String)</function-signature>
<example>${fns:getDictList(type)}</example>
</function>
<function>
<description>获取字典对象列表,并增加全部项</description>
<name>getDictListAddAll</name>
<function-class>com.jeespring.modules.sys.utils.DictUtils</function-class>
<function-signature>java.util.List getDictListAddAll(java.lang.String)</function-signature>
<example>${fns:getDictListAddAll(type)}</example>
</function>
<function>
<description>获取字典对象列表</description>
<name>getDictListJson</name>
<function-class>com.jeespring.modules.sys.utils.DictUtils</function-class>
<function-signature>java.lang.String getDictListJson(java.lang.String)</function-signature>
<example>${fns:getDictListJson(type)}</example>
</function>
<!-- Encodes -->
<function>
<description>URL编码</description>
<name>urlEncode</name>
<function-class>com.jeespring.common.utils.Encodes</function-class>
<function-signature>java.lang.String urlEncode(java.lang.String)</function-signature>
<example>${fns:urlEncode(part)}</example>
</function>
<function>
<description>URL解码</description>
<name>urlDecode</name>
<function-class>com.jeespring.common.utils.Encodes</function-class>
<function-signature>java.lang.String urlDecode(java.lang.String)</function-signature>
<example>${fns:urlDecode(part)}</example>
</function>
<function>
<description>HTML编码</description>
<name>escapeHtml</name>
<function-class>com.jeespring.common.utils.Encodes</function-class>
<function-signature>java.lang.String escapeHtml(java.lang.String)</function-signature>
<example>${fns:escapeHtml(html)}</example>
</function>
<function>
<description>HTML解码</description>
<name>unescapeHtml</name>
<function-class>com.jeespring.common.utils.Encodes</function-class>
<function-signature>java.lang.String unescapeHtml(java.lang.String)</function-signature>
<example>${fns:unescapeHtml(html)}</example>
</function>
<!-- StringUtils -->
<function>
<description>从后边开始截取字符串</description>
<name>substringAfterLast</name>
<function-class>org.apache.commons.lang3.StringUtils</function-class>
<function-signature>java.lang.String substringAfterLast(java.lang.String, java.lang.String)</function-signature>
<example>${fns:substringAfterLast(str,separator)}</example>
</function>
<function>
<description>判断字符串是否以某某开头</description>
<name>startsWith</name>
<function-class>org.apache.commons.lang3.StringUtils</function-class>
<function-signature>boolean startsWith(java.lang.CharSequence, java.lang.CharSequence)</function-signature>
<example>${fns:startsWith(str,prefix)}</example>
</function>
<function>
<description>判断字符串是否以某某结尾</description>
<name>endsWith</name>
<function-class>org.apache.commons.lang3.StringUtils</function-class>
<function-signature>boolean endsWith(java.lang.CharSequence, java.lang.CharSequence)</function-signature>
<example>${fns:endsWith(str,suffix)}</example>
</function>
<function>
<description>缩写字符串,超过最大宽度用“...”表示</description>
<name>abbr</name>
<function-class>com.jeespring.common.utils.StringUtils</function-class>
<function-signature>java.lang.String abbr(java.lang.String, int)</function-signature>
<example>${fns:abbr(str,length)}</example>
</function>
<function>
<description>替换掉HTML标签</description>
<name>replaceHtml</name>
<function-class>com.jeespring.common.utils.StringUtils</function-class>
<function-signature>java.lang.String replaceHtml(java.lang.String)</function-signature>
<example>${fns:replaceHtml(html)}</example>
</function>
<function>
<description>转换为JS获取对象值,生成三目运算返回结果。</description>
<name>jsGetVal</name>
<function-class>com.jeespring.common.utils.StringUtils</function-class>
<function-signature>java.lang.String jsGetVal(java.lang.String)</function-signature>
<example>${fns:jsGetVal('row.user.id')} 返回:!row?'':!row.user?'':!row.user.id?'':row.user.id</example>
</function>
<!-- DateUtils -->
<function>
<description>获取当前日期</description>
<name>getDate</name>
<function-class>com.jeespring.common.utils.DateUtils</function-class>
<function-signature>java.lang.String getDate(java.lang.String)</function-signature>
<example>${fns:getDate(pattern)}</example>
</function>
<function>
<description>获取过去的天数</description>
<name>pastDays</name>
<function-class>com.jeespring.common.utils.DateUtils</function-class>
<function-signature>long pastDays(java.util.Date)</function-signature>
<example>${fns:pastDays(date)}</example>
</function>
<function>
<description>将日期对象Date转为标准格式字符串yyyy-mm-dd hh:mm:ss显示</description>
<name>formatDateTime</name>
<function-class>com.jeespring.common.utils.DateUtils</function-class>
<function-signature>java.lang.String formatDateTime(java.util.Date)</function-signature>
<example>${fns:formatDateTime(date)}</example>
</function>
<!-- JsonMapper -->
<function>
<description>对象转换JSON字符串</description>
<name>toJson</name>
<function-class>com.jeespring.common.mapper.JsonMapper</function-class>
<function-signature>java.lang.String toJsonString(java.lang.Object)</function-signature>
<example>${fns:toJson(object)}</example>
</function>
<function>
<description>根据编码获取用户对象</description>
<name>getByLoginName</name>
<function-class>com.jeespring.modules.sys.utils.UserUtils</function-class>
<function-signature>com.jeespring.modules.sys.entity.User getByLoginName(java.lang.String)</function-signature>
<example>${fns:getByLoginName(loginName)}</example>
</function>
</taglib>
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE taglib PUBLIC "-//Sun Microsystems, Inc.//DTD JSP Tag Library 1.2//EN"
"http://java.sun.com/dtd/web-jsptaglibrary_1_2.dtd">
<taglib>
<tlib-version>1.0</tlib-version>
<jsp-version>1.2</jsp-version>
<short-name>t</short-name>
<uri>/menu-tags</uri>
<display-name>"自定义标签"</display-name>
<!-- 菜单生成控件 -->
<tag>
<name>menu</name>
<tag-class>com.jeespring.common.tag.MenuTag</tag-class>
<body-content>JSP</body-content>
<display-name>左侧菜单生成控件</display-name>
<small-icon>111</small-icon>
<description>左侧菜单生成控件可选样式easyui,bootstrap,json</description>
<attribute>
<name>menu</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
<description>菜单信息</description>
</attribute>
</tag>
<!-- 自动完成 -->
</taglib>
\ No newline at end of file
<?xml version="1.0" encoding="ISO-8859-1" ?>
<!--
~ Licensed to the Apache Software Foundation (ASF) under one
~ or more contributor license agreements. See the NOTICE file
~ distributed with this work for additional information
~ regarding copyright ownership. The ASF licenses this file
~ to you under the Apache License, Version 2.0 (the
~ "License"); you may not use this file except in compliance
~ with the License. You may obtain a copy of the License at
~
~ http://www.apache.org/licenses/LICENSE-2.0
~
~ Unless required by applicable law or agreed to in writing,
~ software distributed under the License is distributed on an
~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
~ KIND, either express or implied. See the License for the
~ specific language governing permissions and limitations
~ under the License.
-->
<!DOCTYPE taglib PUBLIC "-//Sun Microsystems, Inc.//DTD JSP Tag Library 1.2//EN"
"http://java.sun.com/dtd/web-jsptaglibrary_1_2.dtd">
<taglib>
<tlib-version>1.1.2</tlib-version>
<jsp-version>1.2</jsp-version>
<short-name>Apache Shiro</short-name>
<uri>http://shiro.apache.org/tagss</uri>
<description>Apache Shiro JSP Tag Library extends the hasAnyPermissions tag.</description>
<tag>
<name>hasPermission</name>
<tag-class>org.apache.shiro.web.tags.HasPermissionTag</tag-class>
<body-content>JSP</body-content>
<description>Displays body content only if the current Subject (user)
'has' (implies) the specified permission (i.e the user has the specified ability).
</description>
<attribute>
<name>name</name>
<required>true</required>
<rtexprvalue>true</rtexprvalue>
</attribute>
</tag>
<tag>
<name>hasAnyPermissions</name>
<tag-class>com.jeespring.common.security.shiro.HasAnyPermissionsTag</tag-class>
<body-content>JSP</body-content>
<description>Displays body content only if the current user has one of the specified permissions from a
comma-separated list of permission names.
</description>
<attribute>
<name>name</name>
<required>true</required>
<rtexprvalue>true</rtexprvalue>
</attribute>
</tag>
<tag>
<name>lacksPermission</name>
<tag-class>org.apache.shiro.web.tags.LacksPermissionTag</tag-class>
<body-content>JSP</body-content>
<description>Displays body content only if the current Subject (user) does
NOT have (not imply) the specified permission (i.e. the user lacks the specified ability)
</description>
<attribute>
<name>name</name>
<required>true</required>
<rtexprvalue>true</rtexprvalue>
</attribute>
</tag>
<tag>
<name>hasRole</name>
<tag-class>org.apache.shiro.web.tags.HasRoleTag</tag-class>
<body-content>JSP</body-content>
<description>Displays body content only if the current user has the specified role.</description>
<attribute>
<name>name</name>
<required>true</required>
<rtexprvalue>true</rtexprvalue>
</attribute>
</tag>
<tag>
<name>hasAnyRoles</name>
<tag-class>org.apache.shiro.web.tags.HasAnyRolesTag</tag-class>
<body-content>JSP</body-content>
<description>Displays body content only if the current user has one of the specified roles from a
comma-separated list of role names.
</description>
<attribute>
<name>name</name>
<required>true</required>
<rtexprvalue>true</rtexprvalue>
</attribute>
</tag>
<tag>
<name>lacksRole</name>
<tag-class>org.apache.shiro.web.tags.LacksRoleTag</tag-class>
<body-content>JSP</body-content>
<description>Displays body content only if the current user does NOT have the specified role
(i.e. they explicitly lack the specified role)
</description>
<attribute>
<name>name</name>
<required>true</required>
<rtexprvalue>true</rtexprvalue>
</attribute>
</tag>
<tag>
<name>authenticated</name>
<tag-class>org.apache.shiro.web.tags.AuthenticatedTag</tag-class>
<body-content>JSP</body-content>
<description>Displays body content only if the current user has successfully authenticated
_during their current session_. It is more restrictive than the 'user' tag.
It is logically opposite to the 'notAuthenticated' tag.
</description>
</tag>
<tag>
<name>notAuthenticated</name>
<tag-class>org.apache.shiro.web.tags.NotAuthenticatedTag</tag-class>
<body-content>JSP</body-content>
<description>Displays body content only if the current user has NOT succesfully authenticated
_during their current session_. It is logically opposite to the 'authenticated' tag.
</description>
</tag>
<tag>
<name>user</name>
<tag-class>org.apache.shiro.web.tags.UserTag</tag-class>
<body-content>JSP</body-content>
<description>Displays body content only if the current Subject has a known identity, either
from a previous login or from 'RememberMe' services. Note that this is semantically different
from the 'authenticated' tag, which is more restrictive. It is logically
opposite to the 'guest' tag.
</description>
</tag>
<tag>
<name>guest</name>
<tag-class>org.apache.shiro.web.tags.GuestTag</tag-class>
<body-content>JSP</body-content>
<description>Displays body content only if the current Subject IS NOT known to the system, either
because they have not logged in or they have no corresponding 'RememberMe' identity. It is logically
opposite to the 'user' tag.
</description>
</tag>
<tag>
<name>principal</name>
<tag-class>org.apache.shiro.web.tags.PrincipalTag</tag-class>
<body-content>JSP</body-content>
<description>Displays the user's principal or a property of the user's principal.</description>
<attribute>
<name>type</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
</attribute>
<attribute>
<name>property</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
</attribute>
<attribute>
<name>defaultValue</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
</attribute>
</tag>
</taglib>
<%@ page contentType="text/html;charset=UTF-8" %>
<%@ include file="/WEB-INF/views/include/taglib.jsp"%>
<%@ page isELIgnored="false" %>
<html>
<head>
<title>首页</title>
<meta name="decorator" content="default"/>
<!--%@ include file="/WEB-INF/views/include/head.jsp"%-->
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
<meta name="author" content="http://www.jeespring.org/"/>
<meta name="renderer" content="webkit">
<meta http-equiv="X-UA-Compatible" content="IE=8,IE=9,IE=10" />
<meta http-equiv="Expires" content="0">
<meta http-equiv="Cache-Control" content="no-cache">
<meta http-equiv="Cache-Control" content="no-store">
<!-- 引入jquery插件 -->
<link href="${ctxStatic}/common/jeespring.css" type="text/css" rel="stylesheet" />
<link href="${ctxStatic}/bootstrap/3.3.4/css_default/bootstrap.min.css" type="text/css" rel="stylesheet" />
<link href="${ctxStatic}/common/css/style.css?v=3.2.0" type="text/css" rel="stylesheet" />
<link href="${ctxStatic}/awesome/4.4/css/font-awesome.min.css" rel="stylesheet">
<!--script type="text/javascript">
$(document).ready(function() {WinMove();});
</script-->
</head>
<body class="gray-bg">
</div>
<div class="row border-bottom white-bg dashboard-header">
<div class="col-sm-12">
<blockquote class="text-info" style="font-size:14px">${indexSysConfig.description}</blockquote>
<hr>
</div>
${homePageInfomation}
</div>
<div class="wrapper wrapper-content">
<div class="row">
<div class="col-sm-4">
<div class="ibox float-e-margins">
<div class="ibox-title">
<h5>平台视频介绍</h5>
<div style="text-align: center;font-size: 14px;color: #666;">${oaNotify.title}</div><br/>
</div>
<div class="ibox-content">
<a href="https://gitee.com/JeeHuangBingGui/jeeSpringCloud/attach_files" target="_blank">JeeSpringCloud介绍.docx</a><br><br>
<a href="https://gitee.com/JeeHuangBingGui/jeeSpringCloud/attach_files" target="_blank">JeeSpringCloud介绍功能初级.docx</a><br><br>
<a href="https://gitee.com/JeeHuangBingGui/jeeSpringCloud/attach_files" target="_blank">JeeSpringCloud中级培训文档.docx</a><br><br>
<video id="vid1" loop="loop" width="100%" height="100%" onended="" muted="muted" autobuffer="autobuffer" preload="auto" oncontextmenu="return false" data-hasaudio=""
style="background-color: white;opacity: 1;visibility: visible;height: 100%;width: 100%;object-fit:cover;object-position: center center;"
src="../staticViews/index/images/flat-avatar1.mp4" controls></video>
</div>
</div>
</div>
<div class="col-sm-4">
<div class="ibox float-e-margins">
<div class="ibox-title">
<h5>平台视频部署</h5>
<div style="text-align: center;font-size: 14px;color: #666;">${oaNotify.title}</div><br/>
</div>
<div class="ibox-content">
<a href="https://gitee.com/JeeHuangBingGui/jeeSpringCloud/attach_files" target="_blank">JeeSpringCloud部署初级.docx</a><br><br>
<a href="https://gitee.com/JeeHuangBingGui/jeeSpringCloud/attach_files" target="_blank">JeeSpringCloud部署高级.docx</a><br><br>
<video id="vid2" loop="loop" width="100%" height="100%" onended="" muted="muted" autobuffer="autobuffer" preload="auto" oncontextmenu="return false" data-hasaudio=""
style="background-color: white;opacity: 1;visibility: visible;height: 100%;width: 100%;object-fit:cover;object-position: center center;"
src="../staticViews/index/images/flat-avatar1.mp4" controls></video>
<a href="https://gitee.com/JeeHuangBingGui/jeeSpringCloud/attach_files" target="_blank">JeeSpring部署初级.mp4</a><br><br>
<a href="https://gitee.com/JeeHuangBingGui/jeeSpringCloud/attach_files" target="_blank">JeeSpring部署高级.mp4</a><br><br>
</div>
</div>
</div>
<div class="col-sm-4">
<div class="ibox float-e-margins">
<div class="ibox-title">
<h5>平台视频教程</h5>
<div style="text-align: center;font-size: 14px;color: #666;">${oaNotify.title}</div><br/>
</div>
<div class="ibox-content">
<video id="vid3" loop="loop" width="100%" height="100%" onended="" muted="muted" autobuffer="autobuffer" preload="auto" oncontextmenu="return false" data-hasaudio=""
style="background-color: white;opacity: 1;visibility: visible;height: 100%;width: 100%;object-fit:cover;object-position: center center;"
src="../staticViews/index/images/flat-avatar1.mp4" controls></video>
</div>
</div>
</div>
</div>
</div>
<div class="wrapper wrapper-content">
<div class="row">
<div class="col-sm-4">
<div class="ibox float-e-margins">
<div class="ibox-title">
<h5>公告通知</h5>
<div style="text-align: center;font-size: 14px;color: #666;">${oaNotify.title}</div><br/>
</div>
<div class="ibox-content">
<table id="contentTable" class="table table-striped table-bordered table-hover table-condensed dataTables-example dataTable">
<ol>
<c:forEach items="${pageOaNotify.list}" var="oaNotify">
<li>${fns:abbr(oaNotify.title,50)} ${fns:getDictLabel(oaNotify.type, 'oa_notify_type', '')}
<fmt:formatDate value="${oaNotify.updateDate}" pattern="yyyy-MM-dd HH:mm:ss"/></li></br>
</c:forEach>
</ol>
<hr>
</table>
</div>
</div>
</div>
<div class="col-sm-4">
<div class="ibox float-e-margins">
<div class="ibox-title">
<h5>升级日志</h5> <span class="label label-primary">K+</span>
</div>
<div class="ibox-content">
<div class="panel-body">
<div class="panel-group" id="version">
<div class="panel panel-default">
<div class="panel-heading">
<h5 class="panel-title">
<a data-toggle="collapse" data-parent="#version" href="#v1.0"></a><code class="pull-right"></code>
</h5>
</div>
<div id="v2.0" class="panel-collapse collapse in">
<div class="panel-body">
<ol>
<c:forEach items="${pageOaNotifyLog.list}" var="oaNotify">
<li>${fns:abbr(oaNotify.title,50)} ${fns:getDictLabel(oaNotify.type, 'oa_notify_type', '')}
<fmt:formatDate value="${oaNotify.updateDate}" pattern="yyyy-MM-dd HH:mm:ss"/></li></br>
</c:forEach>
</ol>
<hr>
${indexTopicsShowList.description}
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="col-sm-4">
<div class="ibox float-e-margins">
<div class="ibox-title">
<h5>技术支持</h5>
</div>
<div class="ibox-content">
<ol>
<c:forEach items="${pageOaNotifyTechnology.list}" var="oaNotify">
<li>${fns:abbr(oaNotify.title,50)} ${fns:getDictLabel(oaNotify.type, 'oa_notify_type', '')}
<fmt:formatDate value="${oaNotify.updateDate}" pattern="yyyy-MM-dd HH:mm:ss"/></li></br>
</c:forEach>
</ol>
<hr>
</div>
</div>
</div>
</div>
<div class="row">
<div class="col-sm-4 ui-sortable">
<div class="ibox float-e-margins">
<div class="ibox-title">
<h5>JeeSpring 技术特点</h5>
</div>
<div class="ibox-content" style="display: block;">
<ol>
${homePageTechnical}
</ol>
</div>
</div>
</div>
<div class="col-sm-4 ui-sortable">
<div class="ibox float-e-margins">
<div class="ibox-title">
<h5>开源授权</h5>
</div>
<div class="ibox-content">
<ol>
${homePageAuthorization}
</ol>
<hr>
</div>
</div>
</div>
<div class="col-sm-4 ui-sortable">
<div class="ibox float-e-margins">
<div class="ibox-title">
<h5>联系信息</h5>
</div>
<div class="ibox-content">
${homePageContactInfo}
</div>
</div>
</div>
</div>
</div>
</body>
</html>
\ No newline at end of file
<%@ page contentType="text/html;charset=UTF-8" %>
<%@ include file="/WEB-INF/views/include/taglib.jsp" %>
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<title>${fns:getConfig('productName')}-${systemMode}-${version}</title>
<!-- Tell the browser to be responsive to screen width -->
<meta content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no" name="viewport">
<!-- Bootstrap 3.3.7 -->
<link rel="stylesheet" href="/jeeSpringStatic/bower_components/bootstrap/dist/css/bootstrap.min.css">
<!-- Font Awesome -->
<link rel="stylesheet" href="/jeeSpringStatic/bower_components/font-awesome/css/font-awesome.min.css">
<!-- Ionicons -->
<!--link rel="stylesheet" href="/jeeSpringStatic/bower_components/Ionicons/css/ionicons.min.css"-->
<!-- jvectormap -->
<!--link rel="stylesheet" href="/jeeSpringStatic/bower_components/jvectormap/jquery-jvectormap.css"-->
<!-- Theme style -->
<link rel="stylesheet" href="/jeeSpringStatic/dist/css/AdminLTE.min.css">
<!-- AdminLTE Skins. Choose a skin from the css/skins
folder instead of downloading all of them to reduce the load. -->
<link rel="stylesheet" href="/jeeSpringStatic/dist/css/skins/_all-skins.min.css">
<link rel="stylesheet" href="/jeeSpringStatic/dist/css/app_iframe.css">
<!-- HTML5 Shim and Respond.js IE8 support of HTML5 elements and media queries -->
<!-- WARNING: Respond.js doesn't work if you view the page via file:// -->
<!--[if lt IE 9]>
<script src="https://oss.maxcdn.com/html5shiv/3.7.3/html5shiv.min.js"></script>
<script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
<![endif]-->
<!-- Google Font -->
<!--link rel="stylesheet"
href="https://fonts.googleapis.com/css?family=Source+Sans+Pro:300,400,600,700,300italic,400italic,600italic"-->
</head>
<body class="hold-transition fixed sidebar-collapse skin-blue-light sidebar-mini">
<div class="wrapper">
<header class="main-header">
<!-- Logo -->
<a class="logo">
<!-- mini logo for sidebar mini 50x50 pixels -->
<span class="logo-mini"><img id="logo" class="img-circle" src="/staticViews/index/images/flat-avatar1.png">${fns:getConfig('productName')}</span>
<!-- logo for regular state and mobile devices -->
<span class="logo-lg"><img id="logo" class="img-circle" src="/staticViews/index/images/flat-avatar1.png">${fns:getConfig('productName')}</span>
</a>
<!-- Header Navbar: style can be found in header.less -->
<nav class="navbar navbar-static-top">
<!-- Sidebar toggle button-->
<a href="#" class="sidebar-toggle" data-toggle="push-menu" role="button">
<span class="sr-only">Toggle navigation</span>
${systemMode}-${version}
</a>
<!-- Navbar Right Menu -->
<div class="navbar-custom-menu">
<ul class="nav navbar-nav">
<li>
<a href="/cms" target="_blank">
<i class="fa fa-home"></i>
<span class="hidden-xs">网站首页</span>
</a>
</li>
<!-- Messages: style can be found in dropdown.less-->
<li class="dropdown messages-menu">
<a href="#" class="dropdown-toggle" data-toggle="dropdown" aria-expanded="false">
<i class="fa fa-envelope-o"></i>
<span class="label label-success">4</span>
</a>
<ul class="dropdown-menu">
<li class="header">你有 4 条消息</li>
<li>
<!-- inner menu: contains the actual data -->
<ul class="menu">
<li><!-- start message -->
<a href="#">
<div class="pull-left">
<img src="${ctxJeeSpringStatic}/dist/img/user2-160x160.jpg" class="img-circle" alt="用户图像">
</div>
<h4>
支持团队
<small><i class="fa fa-clock-o"></i> 5 分钟前</small>
</h4>
<p>为什么不购买一个高级模板主题?</p>
</a>
</li>
<!-- end message -->
<li>
<a href="#">
<div class="pull-left">
<img src="${ctxJeeSpringStatic}/dist/img/user3-128x128.jpg" class="img-circle" alt="用户图像">
</div>
<h4>
AdminLTE 设计团队
<small><i class="fa fa-clock-o"></i> 2 小时前</small>
</h4>
<p>为什么不购买一个高级模板主题?</p>
</a>
</li>
<li>
<a href="#">
<div class="pull-left">
<img src="${ctxJeeSpringStatic}/dist/img/user4-128x128.jpg" class="img-circle" alt="用户图像">
</div>
<h4>
Developers
<small><i class="fa fa-clock-o"></i> 今天</small>
</h4>
<p>为什么不购买一个高级模板主题?</p>
</a>
</li>
<li>
<a href="#">
<div class="pull-left">
<img src="${ctxJeeSpringStatic}/dist/img/user3-128x128.jpg" class="img-circle" alt="用户图像">
</div>
<h4>
销售部门
<small><i class="fa fa-clock-o"></i> 昨天</small>
</h4>
<p>为什么不购买一个高级模板主题?</p>
</a>
</li>
<li>
<a href="#">
<div class="pull-left">
<img src="${ctxJeeSpringStatic}/dist/img/user4-128x128.jpg" class="img-circle" alt="用户图像">
</div>
<h4>
评估人员
<small><i class="fa fa-clock-o"></i> 2 天前</small>
</h4>
<p>为什么不购买一个高级模板主题?</p>
</a>
</li>
</ul>
</li>
<li class="footer"><a href="#">查看所有消息</a></li>
</ul>
</li>
<!-- Notifications: style can be found in dropdown.less -->
<li class="dropdown notifications-menu">
<a href="#" class="dropdown-toggle" data-toggle="dropdown" aria-expanded="false">
<i class="fa fa-bell-o"></i>
<span class="label label-warning">10</span>
</a>
<ul class="dropdown-menu">
<li class="header">你有 10 条通知</li>
<li>
<!-- inner menu: contains the actual data -->
<ul class="menu">
<li>
<a href="#">
<i class="fa fa-users text-aqua"></i> 今日 5 名新进会员加入
</a>
</li>
<li>
<a href="#">
<i class="fa fa-warning text-yellow"></i> 很长描述可能不适用于页面,可能会导致设计问题
,可能会导致设计问题
</a>
</li>
<li>
<a href="#">
<i class="fa fa-users text-red"></i> 5 名新成员加入
</a>
</li>
<li>
<a href="#">
<i class="fa fa-shopping-cart text-green"></i> 25 条销售记录
</a>
</li>
<li>
<a href="#">
<i class="fa fa-user text-red"></i> 你修改了用户名
</a>
</li>
</ul>
</li>
<li class="footer"><a href="#">查看所有</a></li>
</ul>
</li>
<!-- Tasks: style can be found in dropdown.less -->
<li class="dropdown tasks-menu">
<a href="#" class="dropdown-toggle" data-toggle="dropdown" aria-expanded="false">
<i class="fa fa-flag-o"></i>
<span class="label label-danger">9</span>
</a>
<ul class="dropdown-menu">
<li class="header">你有 9 项任务</li>
<li>
<!-- inner menu: contains the actual data -->
<ul class="menu">
<li><!-- Task item -->
<a href="#">
<h3>
设计一些按钮
<small class="pull-right">20%</small>
</h3>
<div class="progress xs">
<div class="progress-bar progress-bar-aqua" style="width: 20%" role="progressbar" aria-valuenow="20" aria-valuemin="0" aria-valuemax="100">
<span class="sr-only">20% 完成</span>
</div>
</div>
</a>
</li>
<!-- end task item -->
<li><!-- Task item -->
<a href="#">
<h3>
创建一个漂亮的主题
<small class="pull-right">40%</small>
</h3>
<div class="progress xs">
<div class="progress-bar progress-bar-green" style="width: 40%" role="progressbar" aria-valuenow="20" aria-valuemin="0" aria-valuemax="100">
<span class="sr-only">40% 完成</span>
</div>
</div>
</a>
</li>
<!-- end task item -->
<li><!-- Task item -->
<a href="#">
<h3>
我需要做的一些任务
<small class="pull-right">60%</small>
</h3>
<div class="progress xs">
<div class="progress-bar progress-bar-red" style="width: 60%" role="progressbar" aria-valuenow="20" aria-valuemin="0" aria-valuemax="100">
<span class="sr-only">60% 完成</span>
</div>
</div>
</a>
</li>
<!-- end task item -->
<li><!-- Task item -->
<a href="#">
<h3>
制作漂亮的过度效果
<small class="pull-right">80%</small>
</h3>
<div class="progress xs">
<div class="progress-bar progress-bar-yellow" style="width: 80%" role="progressbar" aria-valuenow="20" aria-valuemin="0" aria-valuemax="100">
<span class="sr-only">80% 完成</span>
</div>
</div>
</a>
</li>
<!-- end task item -->
</ul>
</li>
<li class="footer">
<a href="#">查看所有任务</a>
</li>
</ul>
</li>
<!-- User Account: style can be found in dropdown.less -->
<li class="dropdown user user-menu">
<a href="#" class="dropdown-toggle" data-toggle="dropdown">
<img src="${fns:getUser().photo }" class="user-image" alt="User Image">
<span class="hidden-xs">${fns:getUser().name}</span>
</a>
<ul class="dropdown-menu">
<!-- User image -->
<li class="user-header">
<img src="${fns:getUser().photo }" class="img-circle" alt="User Image">
<p>
${fns:getUser().name} - ${fns:getUser().roleNames}
<small>Member since Nov. 2012</small>
</p>
</li>
<!-- Menu Body -->
<li class="user-body">
<div class="row">
<div class="col-xs-4 text-center">
<a href="#">Followers</a>
</div>
<div class="col-xs-4 text-center">
<a href="#">Sales</a>
</div>
<div class="col-xs-4 text-center">
<a href="#">Friends</a>
</div>
</div>
<!-- /.row -->
</li>
<!-- Menu Footer-->
<li class="user-footer">
<div class="pull-left">
<a href="#" class="btn btn-default btn-flat" onclick="addTabs({id: '个人中心',title: '个人中心',close: true,url: 'sys/user/info',urlType: 'http'})">
<!--Profile|-->个人中心
</a>
</div>
<div class="pull-right">
<a href="/admin/logout" class="btn btn-default btn-flat"><!--Sign out|-->退出登录</a>
</div>
</li>
<li><a onclick="addTabs({id: '修改头像',title: '修改头像',close: true,url: '${ctx}/sys/user/imageEdit',urlType: 'http'})">
<i class="fa fa-user"></i> 修改头像</a>
</li>
<li>
<a onclick="addTabs({id: '修改密码',title: '修改密码',close: true,url: '${ctx}/sys/user/modifyPwd',urlType: 'http'})">
<i class="fa fa-key"></i> 修改密码</a>
</li>
<li class="divider"></li>
<li><a href="#" onclick="cancleRedis()"><i class="fa fa-qrcode"></i> <span id="cancleRedis">清除缓存 </span></a></li>
<li><a href="#" onclick="cancleShiroRedis()"><i class="fa fa-qrcode"></i> <span id="cancleShiroRedis">清除单点登录缓存 </span></a></li>
<li><a href="#" ><i class="fa fa-qrcode"></i> <span id="userOnlineAmount">在线人数 </span></a></li>
<li><a href="#" ><i class="fa fa-qrcode"></i> <span id="getApiTimeLimi">访问次数 </span></a></li>
<li><a href="#" ><i class="fa fa-qrcode"></i> <span id="getApiTime">调用次数 </span></a></li>
<li><a href="#" ><i class="fa fa-qrcode"></i> <span id="getExpire">缓存有效时间 </span></a></li>
<li><a href="#" ><i class="fa fa-qrcode"></i> <span id="getExpireShiro">单点登录缓存有效时间 </span></a></li>
<li class="mt10"></li>
</ul>
</li>
<!-- Control Sidebar Toggle Button -->
<li>
<a href="#" data-toggle="control-sidebar"><i class="fa fa-gears"></i></a>
</li>
</ul>
</div>
</nav>
</header>
<!-- Left side column. contains the logo and sidebar -->
<aside class="main-sidebar">
<!-- sidebar: style can be found in sidebar.less -->
<section class="sidebar">
<!-- Sidebar user panel -->
<div class="user-panel">
<div class="pull-left image">
<img src="${fns:getUser().photo }" class="img-circle" alt="User Image">
</div>
<div class="pull-left info">
<p>${fns:getUser().name}-${fns:getUser().roleNames}</p>
<a href="#"><i class="fa fa-circle text-success"></i> 在线/Online</a>
</div>
</div>
<!-- search form -->
<div class="sidebar-form">
<div class="input-group">
<input type="text" name="q" class="form-control" placeholder="搜索..."><!--Search-->
<span class="input-group-btn">
<button type="submit" name="search" id="search-btn" class="btn btn-flat" onclick="search_menu()">
<i class="fa fa-search"></i>
</button>
</span>
</div>
</div>
<!-- /.search form -->
<!-- sidebar menu: : style can be found in sidebar.less -->
<ul class="sidebar-menu" data-widget="tree">
<li class="header"><!--MAIN NAVIGATION-->主导航</li>
<t:menu menu="${fns:getTopMenu()}"></t:menu>
<!--li><a href="#"><i class="fa fa-circle-o text-aqua"></i> <span>Information</span></a></li-->
</ul>
</section>
<!-- /.sidebar -->
</aside>
<!-- Content Wrapper. Contains page content -->
<div class="content-wrapper">
<!--bootstrap tab风格 多标签页-->
<div class="content-tabs">
<button class="roll-nav roll-left tabLeft" onclick="scrollTabLeft()">
<i class="fa fa-backward"></i>
</button>
<nav class="page-tabs menuTabs tab-ui-menu" id="tab-menu">
<div class="page-tabs-content" style="margin-left: 0px;">
</div>
</nav>
<button class="roll-nav roll-right tabRight" onclick="scrollTabRight()">
<i class="fa fa-forward" style="margin-left: 3px;"></i>
</button>
<div class="btn-group roll-nav roll-right">
<button class="dropdown tabClose" data-toggle="dropdown">
页签操作<i class="fa fa-caret-down" style="padding-left: 3px;"></i>
</button>
<ul class="dropdown-menu dropdown-menu-right" style="min-width: 128px;">
<li><a class="tabReload" href="javascript:refreshTab();">刷新当前</a></li>
<li><a class="tabCloseCurrent" href="javascript:closeCurrentTab();">关闭当前</a></li>
<li><a class="tabCloseAll" href="javascript:closeOtherTabs(true);">全部关闭</a></li>
<li><a class="tabCloseOther" href="javascript:closeOtherTabs();">除此之外全部关闭</a></li>
</ul>
</div>
<button class="roll-nav roll-right fullscreen" onclick="App.handleFullScreen()"><i
class="fa fa-arrows-alt"></i></button>
</div>
<div class="content-iframe " style="background-color: #ffffff; ">
<div class="tab-content " id="tab-content">
</div>
</div>
</div>
<!-- /.content-wrapper -->
<footer class="main-footer">
<div class="pull-right hidden-xs">
<b>Version</b> 2.4.0
</div>
<strong>Copyright &copy; 2014-2018 <a href="https://gitee.com/JeeHuangBingGui/jeeSpringCloud">JeeSpring</a>.</strong> All rights
reserved.
</footer>
<!-- Control Sidebar -->
<aside class="control-sidebar control-sidebar-light">
<!-- Create the tabs -->
<ul class="nav nav-tabs nav-justified control-sidebar-tabs">
<li><a href="#control-sidebar-home-tab" data-toggle="tab"><i class="fa fa-home"></i></a></li>
<li><a href="#control-sidebar-settings-tab" data-toggle="tab"><i class="fa fa-gears"></i></a></li>
</ul>
<!-- Tab panes -->
<div class="tab-content">
<!-- Home tab content -->
<div class="tab-pane" id="control-sidebar-home-tab">
<h3 class="control-sidebar-heading">近期活动/Recent Activity</h3>
<ul class="control-sidebar-menu">
<li>
<a href="javascript:void(0)">
<i class="menu-icon fa fa-birthday-cake bg-red"></i>
<div class="menu-info">
<h4 class="control-sidebar-subheading">Langdon's 生日/Langdon's Birthday</h4>
<p>23岁生日,在4月24日/Will be 23 on April 24th</p>
</div>
</a>
</li>
<li>
<a href="javascript:void(0)">
<i class="menu-icon fa fa-user bg-yellow"></i>
<div class="menu-info">
<h4 class="control-sidebar-subheading">Frodo 更新了个人资料/Frodo Updated His Profile</h4>
<p>新电话 +1(800)555-1234/New phone +1(800)555-1234</p>
</div>
</a>
</li>
<li>
<a href="javascript:void(0)">
<i class="menu-icon fa fa-envelope-o bg-light-blue"></i>
<div class="menu-info">
<h4 class="control-sidebar-subheading">Nora 加入邮件列表/Nora Joined Mailing List</h4>
<p>nora@example.com</p>
</div>
</a>
</li>
<li>
<a href="javascript:void(0)">
<i class="menu-icon fa fa-file-code-o bg-green"></i>
<div class="menu-info">
<h4 class="control-sidebar-subheading">254 计划任务执行/Cron Job 254 Executed</h4>
<p>执行时间5秒/Execution time 5 seconds</p>
</div>
</a>
</li>
</ul>
<!-- /.control-sidebar-menu -->
<h3 class="control-sidebar-heading">任务进度/Tasks Progress</h3>
<ul class="control-sidebar-menu">
<li>
<a href="javascript:void(0)">
<h4 class="control-sidebar-subheading">
自定义模板设计/Custom Template Design
<span class="label label-danger pull-right">70%</span>
</h4>
<div class="progress progress-xxs">
<div class="progress-bar progress-bar-danger" style="width: 70%"></div>
</div>
</a>
</li>
<li>
<a href="javascript:void(0)">
<h4 class="control-sidebar-subheading">
更新简历/Update Resume
<span class="label label-success pull-right">95%</span>
</h4>
<div class="progress progress-xxs">
<div class="progress-bar progress-bar-success" style="width: 95%"></div>
</div>
</a>
</li>
<li>
<a href="javascript:void(0)">
<h4 class="control-sidebar-subheading">
Laravel积分/Laravel Integration
<span class="label label-warning pull-right">50%</span>
</h4>
<div class="progress progress-xxs">
<div class="progress-bar progress-bar-warning" style="width: 50%"></div>
</div>
</a>
</li>
<li>
<a href="javascript:void(0)">
<h4 class="control-sidebar-subheading">
后端框架/Back End Framework
<span class="label label-primary pull-right">68%</span>
</h4>
<div class="progress progress-xxs">
<div class="progress-bar progress-bar-primary" style="width: 68%"></div>
</div>
</a>
</li>
</ul>
<!-- /.control-sidebar-menu -->
</div>
<!-- /.tab-pane -->
<!-- Settings tab content -->
<div class="tab-pane" id="control-sidebar-settings-tab">
<form method="post">
<h3 class="control-sidebar-heading">常规设置/General Settings</h3>
<div class="form-group">
<label class="control-sidebar-subheading">
报告面板使用/Report panel usage
<input type="checkbox" class="pull-right" checked>
</label>
<p>
有关此常规设置选项信息/Some information about this general settings option
</p>
</div>
<!-- /.form-group -->
<div class="form-group">
<label class="control-sidebar-subheading">
允许邮件重定向/Allow mail redirect
<input type="checkbox" class="pull-right" checked>
</label>
<p>
其他选项是可用的/Other sets of options are available
</p>
</div>
<!-- /.form-group -->
<div class="form-group">
<label class="control-sidebar-subheading">
在帖子中显示作者姓名/Expose author name in posts
<input type="checkbox" class="pull-right" checked>
</label>
<p>
允许用户在博客帖子中显示自己的名字/Allow the user to show his name in blog posts
</p>
</div>
<!-- /.form-group -->
<h3 class="control-sidebar-heading">聊天设置/Chat Settings</h3>
<div class="form-group">
<label class="control-sidebar-subheading">
显示我在线/Show me as online
<input type="checkbox" class="pull-right" checked>
</label>
</div>
<!-- /.form-group -->
<div class="form-group">
<label class="control-sidebar-subheading">
关闭通知/Turn off notifications
<input type="checkbox" class="pull-right">
</label>
</div>
<!-- /.form-group -->
<div class="form-group">
<label class="control-sidebar-subheading">
删除聊天记录/Delete chat history
<a href="javascript:void(0)" class="text-red pull-right"><i class="fa fa-trash-o"></i></a>
</label>
</div>
<!-- /.form-group -->
</form>
</div>
<!-- /.tab-pane -->
</div>
</aside>
<!-- /.control-sidebar -->
<!-- Add the sidebar's background. This div must be placed
immediately after the control sidebar -->
<div class="control-sidebar-bg"></div>
</div>
<!-- ./wrapper -->
<!-- jQuery 3 -->
<script src="/jeeSpringStatic/bower_components/jquery/dist/jquery.min.js"></script>
<!-- Bootstrap 3.3.7 -->
<script src="/jeeSpringStatic/bower_components/bootstrap/dist/js/bootstrap.min.js"></script>
<!-- FastClick -->
<script src="/jeeSpringStatic/bower_components/fastclick/lib/fastclick.js"></script>
<!-- AdminLTE App -->
<script src="/jeeSpringStatic/dist/js/adminlte.min.js"></script>
<!-- Sparkline -->
<script src="/jeeSpringStatic/bower_components/jquery-sparkline/dist/jquery.sparkline.min.js"></script>
<!-- SlimScroll -->
<script src="/jeeSpringStatic/bower_components/jquery-slimscroll/jquery.slimscroll.min.js"></script>
<!-- ChartJS -->
<script src="/jeeSpringStatic/bower_components/chart.js/Chart.js"></script>
<!-- AdminLTE dashboard demo (This is only for demo purposes) -->
<!--script src="dist/js/pages/dashboard2.js"></script-->
<!-- AdminLTE for demo purposes -->
<script src="/jeeSpringStatic/dist/js/demo.js"></script>
<script src="/jeeSpringStatic/dist/js/app_iframe.js"></script>
<script src="/jeeSpringStatic/plugs/layer-v3.1.1/layer/layer.js"></script>
<script src="/staticViews/index/index.js"></script>
<%@ include file="/WEB-INF/views/include/im.jsp"%>
</body>
</html>
<%@ page contentType="text/html;charset=UTF-8" %>
<%@ page import="org.apache.shiro.web.filter.authc.FormAuthenticationFilter" %>
<%@ include file="/WEB-INF/views/include/taglib.jsp" %>
<!DOCTYPE html>
<html style="overflow: auto;" class=" js csstransforms3d csstransitions csstransformspreserve3d">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>${fns:getConfig('productName')} 登录</title>
<meta name="author" content="http://www.jeespring.org/">
<meta name="renderer" content="webkit">
<meta http-equiv="X-UA-Compatible" content="IE=9,IE=10">
<meta http-equiv="Expires" content="0">
<meta http-equiv="Cache-Control" content="no-cache">
<meta http-equiv="Cache-Control" content="no-store">
<meta name="decorator" content="ani">
<!-- 移动端禁止缩放事件 -->
<meta name="viewport"
content="width=device-width,initial-scale=1.0,minimum-scale=1.0,maximum-scale=1.0,user-scalable=no">
<script src="/jeeSpringStatic/plugs/jquery/jquery-2.1.1.min.js" type="text/javascript"></script>
<script src="/jeeSpringStatic/plugs/jquery-validation/1.14.0/jquery.validate.min.js" type="text/javascript"></script>
<script src="/jeeSpringStatic/plugs/jquery-validation/1.14.0/localization/messages_zh.min.js" type="text/javascript"></script>
<!-- 设置浏览器图标 -->
<link rel="shortcut icon" href="../static/favicon.ico">
<link rel="stylesheet" id="theme" href="/staticViews/index/app-midnight-blue.css">
<script src="/staticViews/index/login.js" type="text/javascript"></script>
<link rel="stylesheet" href="/staticViews/index/login.css">
</head>
<body>
<div class="login-page">
<video id="vid" width="100%" height="100%" onended="setTimeout(function(){$('#vid').hide(1000)},3000);"
autoplay="autoplay" muted="muted" autobuffer="autobuffer" preload="auto" oncontextmenu="return false"
data-hasaudio=""></video>
<div id="menu">
<a target="_blank" href="https://gitee.com/JeeHuangBingGui/jeeSpringCloud" style="float: left;color: #fff;"
class="btn">介绍</a>
<a target="_blank" href="https://gitee.com/JeeHuangBingGui/jeeSpringCloud/wikis/pages"
style="float: left;color: #fff;" class="btn">在线文档</a>
<a target="_blank" href="https://gitee.com/JeeHuangBingGui/jeeSpringCloud/attach_files"
style="float: left;color: #fff;" class="btn">帮助</a>
</div>
<div class="row" id="loginPage" style="padding: 3em;">
<div class="col-md-4 col-lg-4 col-md-offset-4 col-lg-offset-4">
<img id="logo" class="img-circle hidden-xs" src="../staticViews/index/images/flat-avatar1.png">
<h1>${fns:getConfig('productName')}-${systemMode}-${version}</h1>
<sys:message content="${message}"/>
<!-- 0:隐藏tip, 1隐藏box,不设置显示全部 -->
<form id="loginForm" role="form" action="${ctx}/login" method="post" novalidate="novalidate">
<div class="form-content" style="padding:0px">
<div class="form-group">
<input type="text" id="username" name="username"
class="form-control input-underline input-lg required" value="admin" placeholder="用户名">
</div>
<div class="form-group">
<input type="password" id="password" name="password" value="admin"
class="form-control input-underline input-lg required" placeholder="密码">
</div>
<c:if test="${validateCode == 'true'}">
<div class="input-group m-b text-muted validateCode">
<sys:validateCode name="validateCode" inputCssStyle="margin-bottom:5px;"/>
</div>
</c:if>
<label class="inline">
<input type="checkbox" id="rememberMe" name="rememberMe" ${rememberMe ? 'checked' : ''}
class="ace"/>
<span class="lbl"> 记住我</span>
</label>
</div>
<a href="${ctx}/register" class="btn btn-white btn-outline btn-lg btn-rounded progress-login">注册</a>
&nbsp;
<input type="submit" class="btn btn-white btn-outline btn-lg btn-rounded progress-login" value="登录">
<div style="padding-top: 20px;">© 2018 All Rights Reserved. <a
href="https://gitee.com/JeeHuangBingGui/jeeSpringCloud" style="color:white;"> JeeSpring</a>
</div>
</form>
</div>
</div>
<div id="hplaT" class="hidden-xs">
<a class="search" target="_blank" href="https://cn.bing.com/search?q=jeespring"
style="color:#fff;text-decoration:none;">
<div id="hplaTtl"></div>
</a>
<input type="button" class="btn btn-white btn-outline btn-rounded" value="刷新" style="float: right;"
onclick="readyInfo()">
<input type="button" class="btn btn-white btn-outline btn-rounded" value="播放" style="float: right;"
onclick="$('#vid').show(1000);document.getElementById('vid').play()">
<input type="button" class="btn btn-white btn-outline btn-rounded" value="停止" style="float: right;"
onclick="$('#vid').hide(1000);document.getElementById('vid').pause()">
<a class="search btn btn-white btn-outline btn-rounded" style="float: right;"
href="https://cn.bing.com/search?q=jeespring">搜索</a>
<input type="button" class="btn btn-white btn-outline btn-rounded" value="显示" style="float: left;"
onclick="$('#loginPage').show(1000);">
<input type="button" class="btn btn-white btn-outline btn-rounded" value="隐藏" style="float: left;"
onclick="$('#loginPage').hide(1000);">
</div>
</div>
<c:if test="${systemMode eq '演示版'}">
<iframe src="https://gitee.com/JeeHuangBingGui/jeeSpringCloud" style="height:50%;width:50%;display:none"></iframe>
<iframe src="https://www.oschina.net/p/jeeSpringCloud" style="height:50%;width:50%;display:none"></iframe>
</c:if>
</body>
</html>
\ No newline at end of file
<%@ page contentType="text/html;charset=UTF-8" %>
<%@ page import="org.apache.shiro.web.filter.authc.FormAuthenticationFilter"%>
<%@ include file="/WEB-INF/views/include/taglib.jsp"%>
<!DOCTYPE html>
<html style="overflow: auto;" class=" js csstransforms3d csstransitions csstransformspreserve3d"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>${fns:getConfig('productName')} 注册</title>
<meta name="author" content="http://www.jeespring.org/">
<meta name="renderer" content="webkit">
<meta http-equiv="X-UA-Compatible" content="IE=9,IE=10">
<meta http-equiv="Expires" content="0">
<meta http-equiv="Cache-Control" content="no-cache">
<meta http-equiv="Cache-Control" content="no-store">
<!-- 移动端禁止缩放事件 -->
<meta name="viewport" content="width=device-width,initial-scale=1.0,minimum-scale=1.0,maximum-scale=1.0,user-scalable=no">
<script src="${ctxStatic}/jquery/jquery-2.1.1.min.js" type="text/javascript"></script>
<script src="${ctxStatic}/jquery/jquery-migrate-1.1.1.min.js" type="text/javascript"></script>
<script src="${ctxStatic}/jquery-validation/1.14.0/jquery.validate.js" type="text/javascript"></script>
<script src="${ctxStatic}/jquery-validation/1.14.0/localization/messages_zh.min.js" type="text/javascript"></script>
<script src="${ctxStatic}/bootstrap/3.3.4/js/bootstrap.min.js" type="text/javascript"></script>
<!-- 设置浏览器图标 -->
<link rel="shortcut icon" href="../static/favicon.ico">
<link rel="stylesheet" id="theme" href="${ctxStatic}/common/login/app-midnight-blue.css">
<meta name="decorator" content="ani">
<style>
/* Validation */
label.error {
color: #cc5965;
display: inline-block;
margin-left: 5px;
}
</style>
<script type="text/javascript">
if (window.top !== window.self) {
window.top.location = window.location;
}
$(document).ready(function() {
$("#loginForm").validate({
rules: {
loginName: {remote: "${ctx}/sys/user/validateLoginName"},
mobile: {remote: "${ctx}/sys/user/validateMobile"},
validateCode: {remote: "/servlet/validateCodeServlet"}
},
messages: {
confirmNewPassword: {equalTo: "输入与上面相同的密码!"},
ck1: {required: "必须接受用户协议!"},
loginName: {remote: "此用户名已经被注册!", required: "用户名不能为空!"},
mobile:{remote: "此手机号已经被注册!", required: "手机号不能为空!"},
password: {required: "密码不能为空!"},
confirmNewPassword: {required: "重复密码不能为空!"},
validateCode:{remote: "验证码不正确!", required: "验证码不能为空!"}
},
//errorLabelContainer: "#messageBox",
errorPlacement: function(error, element) {
error.insertAfter(element);
}
});
});
// 手机号码验证
jQuery.validator.addMethod("isMobile", function(value, element) {
var length = value.length;
var mobile = /^(13[0-9]{9})|(18[0-9]{9})|(14[0-9]{9})|(17[0-9]{9})|(15[0-9]{9})$/;
return (length == 11 && mobile.test(value));
}, "请正确填写您的手机号码");
</script>
</head>
<body id="" class="" style="">
<div class="login-page">
<div class="row">
<div class="col-md-4 col-lg-4 col-md-offset-4 col-lg-offset-4">
<h1>${fns:getConfig('productName')}</h1>
<h1>用户注册</h1>
<!-- 0:隐藏tip, 1隐藏box,不设置显示全部 -->
<form id="loginForm" role="form" modelAttribute="user" action="${ctx}/sys/register/registerUser" method="post" novalidate="novalidate" style="background: rgba(255,255,255,.2);border: 1px solid rgba(255,255,255,.3);border-radius: 3px;padding: 30px;">
<div class="form-content">
<sys:message content="${message}"/>
<div class="form-group">
<input type="hidden" value="system" name="roleName"><!-- 默认注册用户都是超级管理员 -->
<input id="tel" name="mobile" type="text" value="${user.mobile }" maxlength="11" minlength="11" class="form-control input-underline input-lg text-muted required isMobile" placeholder="手机号"/>
</div>
<div class="form-group">
<input id="userId" name="loginName" type="text" value="${user.loginName }" maxlength="20" minlength="3" class="form-control input-underline input-lg required" placeholder="用户名" />
</div>
<div class="form-group">
<input id="newPassword" name="password" type="password" value="${user.password }" maxlength="20" minlength="3" class="form-control input-underline input-lg required" placeholder="密码" />
</div>
<div class="form-group">
<input id="confirmNewPassword" name="confirmNewPassword" type="password" value="${user.password }" maxlength="20" minlength="3" class="form-control input-underline input-lg required" equalTo="#newPassword" placeholder="重复密码" />
</div>
<div class="input-group m-b text-muted validateCode">
<sys:validateCode name="validateCode" inputCssStyle="margin-bottom:5px;"/>
</div>
<label class="block">
<input name="ck1" type="checkbox" class="required ace" />
<span class="lbl">我接受《用户注册协议》<a href="#"></a></span>
<label id="ck1-error" class="error" for="ck1" style="display: none;">必须接受用户协议</label>
</label>
</div>
<a href="./login" class="btn btn-white btn-outline btn-lg btn-rounded progress-login">返回</a>
&nbsp;
<input type="submit" class="btn btn-white btn-outline btn-lg btn-rounded progress-login" value="注册">
<div style="padding-top: 50px;">© 2018 All Rights Reserved. <a href="https://gitee.com/JeeHuangBingGui/jeeSpringCloud"> JeeSpring</a></div>
</form>
</div>
</div>
</div>
</body>
</html>
\ No newline at end of file
<%response.setStatus(400);
// 获取异常类
Throwable ex = Exceptions.getThrowable(request);
// 编译错误信息
StringBuilder sb = new StringBuilder("错误信息:\n");
if (ex != null) {
if (ex instanceof BindException) {
for (ObjectError e : ((BindException)ex).getGlobalErrors()){
sb.append("☆" + e.getDefaultMessage() + "(" + e.getObjectName() + ")\n");
}
for (FieldError e : ((BindException)ex).getFieldErrors()){
sb.append("☆" + e.getDefaultMessage() + "(" + e.getField() + ")\n");
}
LoggerFactory.getLogger("400.jsp").warn(ex.getMessage(), ex);
}else if (ex instanceof ConstraintViolationException) {
for (ConstraintViolation<?> v : ((ConstraintViolationException)ex).getConstraintViolations()) {
sb.append("☆" + v.getMessage() + "(" + v.getPropertyPath() + ")\n");
}
} else {
//sb.append(Exceptions.getStackTraceAsString(ex));
sb.append("☆" + ex.getMessage());
}
} else {
sb.append("未知错误.\n\n");
}
// 如果是异步请求或是手机端,则直接返回信息
if (Servlets.isAjaxRequest(request)) {
out.print(sb);
}
// 输出异常信息页面
else {%>
<%@page import="javax.validation.ConstraintViolation"%>
<%@page import="javax.validation.ConstraintViolationException"%>
<%@page import="org.springframework.validation.BindException"%>
<%@page import="org.springframework.validation.ObjectError"%>
<%@page import="org.springframework.validation.FieldError"%>
<%@page import="org.slf4j.Logger,org.slf4j.LoggerFactory"%>
<%@page import="com.jeespring.common.web.Servlets"%>
<%@page import="com.jeespring.common.utils.Exceptions"%>
<%@page import="com.jeespring.common.utils.StringUtils"%>
<%@page contentType="text/html;charset=UTF-8" isErrorPage="true"%>
<%@include file="/WEB-INF/views/include/taglib.jsp"%>
<!DOCTYPE html>
<html>
<head>
<title>400 - 请求出错</title>
<%@include file="/WEB-INF/views/include/head.jsp" %>
</head>
<body>
<div class="container-fluid">
<div class="page-header"><h1>参数有误,服务器无法解析.</h1></div>
<div class="errorMessage">
<%=StringUtils.toHtml(sb.toString())%> <br/>
</div>
<a href="javascript:" onclick="history.go(-1);" class="btn">返回上一页</a> &nbsp;
<br/> <br/>
<script>try{top.$.jBox.closeTip();}catch(e){}</script>
</div>
</body>
</html>
<%
} out = pageContext.pushBody();
%>
\ No newline at end of file
<%response.setStatus(403);
//获取异常类
Throwable ex = Exceptions.getThrowable(request);
// 如果是异步请求或是手机端,则直接返回信息
if (Servlets.isAjaxRequest(request)) {
if (ex!=null && StringUtils.startsWith(ex.getMessage(), "msg:")){
out.print(StringUtils.replace(ex.getMessage(), "msg:", ""));
}else{
out.print("操作权限不足.");
}
}
//输出异常信息页面
else {%>
<%@page import="com.jeespring.common.web.Servlets"%>
<%@page import="com.jeespring.common.utils.Exceptions"%>
<%@page import="com.jeespring.common.utils.StringUtils"%>
<%@page contentType="text/html;charset=UTF-8" isErrorPage="true"%>
<%@include file="/WEB-INF/views/include/taglib.jsp"%>
<!DOCTYPE html>
<html>
<head>
<title>403 - 操作权限不足</title>
<%@include file="/WEB-INF/views/include/head.jsp" %>
</head>
<body>
<div class="container-fluid">
<div class="page-header"><h1>操作权限不足.</h1></div>
<%
if (ex!=null && StringUtils.startsWith(ex.getMessage(), "msg:")){
out.print("<div>"+StringUtils.replace(ex.getMessage(), "msg:", "")+" <br/> <br/></div>");
}
%>
<div><a href="javascript:" onclick="history.go(-1);" class="btn">返回上一页</a></div>
<script>try{top.$.jBox.closeTip();}catch(e){}</script>
</div>
</body>
</html>
<%
} out = pageContext.pushBody();
%>
\ No newline at end of file
<%@ page contentType="text/html;charset=UTF-8" %>
<%@ include file="/WEB-INF/views/include/taglib.jsp"%>
<%@page import="com.jeespring.common.web.Servlets"%>
<%
response.setStatus(404);
// 如果是异步请求或是手机端,则直接返回信息
if (Servlets.isAjaxRequest(request)) {
out.print("页面不存在.");
}
//输出异常信息页面
else {
%>
<!DOCTYPE html>
<html>
<head>
<title>404 页面</title>
<link href="${ctxStatic}/common/css/style.css?v=3.2.0" type="text/css" rel="stylesheet" />
</head>
<body class="gray-bg">
<div class="middle-box text-center animated fadeInDown">
<h1>404</h1>
<h3 class="font-bold">页面未找到!</h3>
<div class="error-desc">
抱歉,页面好像去火星了~
</div>
</div>
</body>
</html>
<%}%>
\ No newline at end of file
<%response.setStatus(500);
// 获取异常类
Throwable ex = Exceptions.getThrowable(request);
if (ex != null){
LoggerFactory.getLogger("500.jsp").error(ex.getMessage(), ex);
}
// 编译错误信息
StringBuilder sb = new StringBuilder("错误信息:\n");
if (ex != null) {
sb.append(Exceptions.getStackTraceAsString(ex));
} else {
sb.append("未知错误.\n\n");
}
// 如果是异步请求或是手机端,则直接返回信息
if (Servlets.isAjaxRequest(request)) {
out.print(sb);
}
// 输出异常信息页面
else {%>
<%@page import="org.slf4j.Logger,org.slf4j.LoggerFactory"%>
<%@page import="com.jeespring.common.web.Servlets"%>
<%@page import="com.jeespring.common.utils.Exceptions"%>
<%@page import="com.jeespring.common.utils.StringUtils"%>
<%@page contentType="text/html;charset=UTF-8" isErrorPage="true"%>
<%@include file="/WEB-INF/views/include/taglib.jsp"%>
<!DOCTYPE html>
<html>
<head>
<title>500 - 系统内部错误</title>
<%@include file="/WEB-INF/views/include/head.jsp" %>
</head>
<body>
<div class="container-fluid">
<div class="page-header"><h1>系统内部错误.</h1></div>
<div class="errorMessage">
错误信息:<%=ex==null?"未知错误.":StringUtils.toHtml(ex.getMessage())%> <br/> <br/>
请点击“查看详细信息”按钮,将详细错误信息发送给系统管理员,谢谢!<br/> <br/>
<a href="javascript:" onclick="history.go(-1);" class="btn">返回上一页</a> &nbsp;
<a href="javascript:" onclick="$('.errorMessage').toggle();" class="btn">查看详细信息</a>
</div>
<div class="errorMessage hide">
<%=StringUtils.toHtml(sb.toString())%> <br/>
<a href="javascript:" onclick="history.go(-1);" class="btn">返回上一页</a> &nbsp;
<a href="javascript:" onclick="$('.errorMessage').toggle();" class="btn">隐藏详细信息</a>
<br/> <br/>
</div>
<script>try{top.$.jBox.closeTip();}catch(e){}</script>
</div>
</body>
</html>
<%
} out = pageContext.pushBody();
%>
\ No newline at end of file
<%@ page language="java" pageEncoding="UTF-8"%>
<h1>文件过大,请重新选择</h1>
\ No newline at end of file
<%@ page contentType="text/html;charset=UTF-8" %>
<div class="btn-group">
<button class="btn btn-default dropdown-toggle btn-sm" data-toggle="dropdown" type="button" aria-expanded="false">
<i class="glyphicon glyphicon-th icon-th"></i>
<span class="caret"></span>
</button>
<ul class="dropdown-menu" role="menu">
<li data-type="放大"><a href="javascript:void(0)" onclick="$('body').css({zoom:Number($('body').css('zoom'))+0.1})">放大</a></li>
<li data-type="缩小"><a href="javascript:void(0)" onclick="$('body').css({zoom:$('body').css('zoom')-0.1})">缩小</a></li>
</ul>
</div>
\ No newline at end of file
<link href="${ctxStatic}/jquery-jbox/2.3/Skins/Bootstrap/jbox.min.css" rel="stylesheet" />
<script src="${ctxStatic}/jquery-jbox/2.3/jquery.jBox-2.3.min.js" type="text/javascript"></script>
\ No newline at end of file
<%@ page contentType="text/html;charset=UTF-8" %>
<script src="${ctxStatic}/echarts-2.2.7/build/dist/echarts.js"></script>
<script type="text/javascript">
// 路径配置
require.config({
paths : {
echarts : '${ctxStatic}/echarts-2.2.7/build/dist'
}
});
</script>
<style type="text/css">
.main000 {
height: 360px;
/*width: 778px !important;*/
overflow: hidden;
padding : 10px;
margin-bottom: 10px;
border: 1px solid #e3e3e3;
-webkit-border-radius: 4px;
-moz-border-radius: 4px;
border-radius: 4px;
-webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05);
-moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05);
box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05);
}
</style>
\ No newline at end of file
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment