FreeMarker分页组件监听器

分页组件监听器

/*

* 工程名:

* 包     名: com.companyName.dhm.iepgm.common.taglib

* 文 件名: PaginatedListener.java

* 版      权: Copyright (c) 2009 companyName All Rights Reserved.

* 描      述: 分页组件的监听器

* 修 改 人:

* 修改时间:

* 跟踪单号:

* 修改单号:

* 修改内容:

*/

package com.companyName.dhm.cbb.common.taglib;

import javax.servlet.ServletContext;

import javax.servlet.ServletContextEvent;

import javax.servlet.ServletContextListener;

import com.companyName.dhm.cbb.common.Constants;

import freemarker.template.Configuration;

import freemarker.template.ObjectWrapper;

import freemarker.template.TemplateExceptionHandler;

/**

*

* 分页组件监听器

*

* @author

* @version

* @since

*/

public class PaginatedListener implements ServletContextListener {

public void contextInitialized( ServletContextEvent servletContextEvent ) {

ServletContext context = servletContextEvent.getServletContext();

Configuration cfg = new Configuration();

cfg.setServletContextForTemplateLoading( context, "WEB-INF/templates");

cfg.setTemplateUpdateDelay(0);

cfg.setTemplateExceptionHandler(

TemplateExceptionHandler.HTML_DEBUG_HANDLER);

cfg.setObjectWrapper(ObjectWrapper.BEANS_WRAPPER);

cfg.setDefaultEncoding( Constants.PAGE_ENCODING.getStringValue() );

cfg.setOutputEncoding( Constants.PAGE_ENCODING.getStringValue() );

context.setAttribute( Constants.DHM_PAGINATED_COMPONENT.getStringValue(), cfg);

}

public void contextDestroyed(ServletContextEvent servletContextEvent ) {

ServletContext context = servletContextEvent.getServletContext();

context.removeAttribute( Constants.DHM_PAGINATED_COMPONENT.getStringValue() );

}

}

package com.companyName.dhm.cbb.common;

public enum Constants

{

/**-1表示查询色 *??的操作结*/

OPERATE_RESULT_ALL( "-1" ),

/**表示执行成功,弹出成功的提示*/

SUCCEED("1"),

/**表示执行失败,弹出失败的提示*/

FAILURED("0"),

/**默认情况不弹出提示框*/

NO_DIALOG( "2" ),

/**资源或栏目树,上移操*/

ORDER_UP( "UP" ),

/**资源或栏目树,下移操*/

ORDER_DOWN( "DOWN" ),

/**默认的分页时候每页显色 *0条记*/

DEFAULT_PAGE_SIZE( 10 ),

/**页面编码*/

PAGE_ENCODING("UTF-8"),

/**菜单收缩*/

MENU_COLLAPSED( 0 ),

/**菜单伸展*/

MENU_UNCOLLAPSED( 1 ),

/**消息主体长度:中*/

MESSAGE_LENGTH( 1024 ),

/**消息主体长度:英*/

MESSAGE_LENGTH_EN( 4000 ),

RANDOM("1"), UNRANDOM("0"), STATUS_NORMAL("1"), STATUS_LOCK(

"2"), STATUS_RESET("3"), RESETPASSWORD("888888"), COMMA(","), COMMACH(

"[,_,]+"), DATEFORMAT24("yyyy-MM-dd HH:mm"),

/**时间格式,含日期和时分秒*/

TIME_PATTERN( "yyyy-MM-dd HH:mm:ss" ),

/**英文字母、数字和下划色 */

LETTERS_AND_UNDERLINES( "^\\w+$" ),

/**中文字符和英文字色 */

CHINESE_AND_LETTERS( "(?:[\\u4e00-\\u9fa5]*\\w*\\s*)+$" ),

/**表示全局错误,并由struts2来跳转指定页色 */

GLOBAL_ERROR("global.error"),

/**表示全局错误,该全局错误是新打开色 *??浏览器窗口,然后由struts2来跳转到该错误页色 */

GLOBAL_ERROR_WINDOW("global.error.window"),

/**表示浏览文件夹节点信息,并由struts2来跳转指定页色 */

FOLDER_SITE("foler.site"),

/**表示浏览文件节点信息,并由struts2来跳转指定页色 */

PAGE_SITE("page.site"),

/**token名称,用户防止重复提色 */

STRUTS_TOKEN_NAME ( "struts.token.name" ),

/**DHM公共部分页面组件的标识符*/

DHM_PAGINATED_COMPONENT( "com.dhm.companyName.paginated.freemarker.configuration" ),

/********************************* 权限过滤器的常量定义 **************************************/

/**表示无权操作的提示页色 **/

NO_PRIVILEGE_URL("/common/noprivilege.jsp"),

/**表示无权操作的提示页面,页面内容为纯文本不含HTML标签,主要是用于弹出框的无权提示 */

NO_PRIVILEGE_URL_ONLY_TEXT("/common/noprivilege_text.jsp"),

/**系统登录首页*/

FIRST_LOGIN_URL("/"),

/**系统注销页面*/

LOGOUT_URL("/common/logout.jsp"),

LOGIN_ACTION( "/login.action" ),

/********************************* 拦截器的常量定义 **************************************/

/**IEPG后台日志错误代码前缀*/

ERROR_CODE_PREFIX( "system.error." ),

/**操作代码前缀*/

OPERATE_CODE_PREFIX( "system.operate.code." ),

/**错误内容*/

ERROR_MESSAGE( "errorMessage" ),

/**数据库连接超色 */

ERROR_CONNECT_DB( "BI-13003003:数据库连接超时异常" ),

/**数据库访问异色 */

ERROR_FETCH_DB( "BI-13003002:数据库访问异常" ),

/********************************* 系统中初始化角色以及欢迎页面的定色 ***********************/

/**表示超级管理员角*/

SUPER_ADMINISTRAOTR_ROLE(1),

/**表示管理员角*/

ADMINISTRAOTR_ROLE(3),

/**表示二次色 *??角色*/

DEVELOPER_ROLE(4),

/**运营管理员角色 */

MAINTAIN_ROLE(5),

/**运营人员角色的欢迎页色 */

OSS_WELCOME_URL ( "login/oss.jsp" ),

/**二次色 *??人员角色的欢迎页色 */

SECOND_WELCOME_URL ( "login/second.jsp" ),

/**系统超级管理员角色的欢迎页面*/

SYSTEM_WELCOME_URL ( "login/system.jsp" ),

/**其他角色的欢迎页色 */

OTHER_WELCOME_URL ( "login/other.jsp" ),

/********************************* 日志部分操作类型的定色 ***********************************/

/**操作类型*/

ALL_OPERATE_TYPE("0"),

/**1 表示“新增色 *操作类型*/

ADD_OPERATE_TYPE("1"),

/**2 表示“编辑色 *操作类型*/

UPDATE_OPERATE_TYPE("2"),

/**3 表示“删除色 *操作类型*/

DELETE_OPERATE_TYPE("3"),

/**4 表示“其他色 *操作类型*/

OTHER_OPERATE_TYPE( "4" ),

/**用于页面显示的操作类型:“新增色 **/

VIEW_ADD_OPERATE_TYPE("新增"),

/**用于页面显示的操作类型:“修改色 **/

VIEW_UPDATE_OPERATE_TYPE("修改"),

/**用于页面显示的操作类型:“删除色 **/

VIEW_DELETE_OPERATE_TYPE("删除"),

/**用于页面显示的操作类型:“其他色 **/

VIEW_OTHER_OPERATE_TYPE("其他"),

/**用于页面显示的操作结果:“成功色 **/

VIEW_OPERATE_RESULT_SUCCESS("成功"),

/**用于页面显示的操作结果:“失败色 **/

VIEW_OPERATE_RESULT_FAILURE("失败"),

/************************************ 公共错误码定色 *******************************************/

/**

* 13002001

* 程序错误,类型转换异常

*/

ERROR_CODE_CLASS_CAST(13002001L),

/**

* 13002002

* 程序错误,空指针异色 *

*/

ERROR_CODE_NULL_POINT(13002002L),

/**

* 13003001

* 数据库错色 *数据操作异常

*/

ERROR_CODE_OPERATOR_DATABASE(13003001L),

/**

* 13003002

* 数据库错色 *数据库访问异色 *

*/

ERROR_CODE_ACCESS_DATABASE(13003002L),

/**

* 13003003

* 数据库错色 *数据库连接超时异色 *

*/

ERROR_CODE_CONNECT_DATABASE(13003003L),

/********************************** 角色管理错误代码定义 ***************************************/

/** 13096001

* 添加角色异常

*/

ERROR_CODE_ADD_ROLE(13096001L),

/** 13096002

* 删除角色异常 */

ERROR_CODE_DELETE_ROLE(13096002L),

/** 13096003

* 编辑角色异常 */

ERROR_CODE_UPDATE_ROLE(13096003L),

/** 13096004

* 查询角色异常 */

ERROR_CODE_QUERY_ROLE(13096004L),

/** 13096005

* 浏览角色异常 */

ERROR_CODE_BROWSE_ROLE(13096005L),

/** 13096006

* 角色操作权限设定异常

*/

ERROR_CODE_ASSIGN_PRIVILEGE_TO_ROLE(13096006L),

/** 13096007

* 角色色 *??用户设定异常 */

ERROR_CODE_ASSIGN_USER_TO_ROLE(13096007L),

/** 13096008

* 角色色 *??用户异常 */

ERROR_CODE_ASSIGN_ROLE_TO_USER(13096008L),

/** 13096009

* 查询用户拥有的权限异色 **/

ERROR_CODE_QUERY_PRIVILEGES_FOR_USER(13096009L),

/** 13096010

* 查询角色赋予情况异常 */

ERROR_CODE_QUERY_ROLES_ASSIGNED(13096010L),

/** 13096011

* 查询色 *??权限异常 */

ERROR_CODE_QUERY_ALL_PRIVILEGES(13096011L),

/** 13096012

* 查询用户色 *??有的色 *??角色异常 */

ERROR_CODE_QUERY_ALL_ROLES_BY_USER(13096012L),

/** 13096013

* 查询角色赋予的所有用户异色 **/

ERROR_CODE_QUERY_ALL_USERS_BY_ROLE(13096013L),

/** 13096014

* 查询角色色 *??有的色 *??权限异常 */

ERROR_CODE_QUERY_ALL_PRIVILEGES_ASSIGNED_BY_ROLE(13096014L),

/** 13096015

* 查询未赋予该角色的所有用户异色 **/

ERROR_CODE_QUERY_ALL_USERS_UNASSIGNED_BY_ROLE(13096015L),

/** 13096016

* 批量插入用户和角色之间的关系异常 */

ERROR_CODE_BATCH_INSERT_USERS_AND_ROLE_RELATIONSHIP(13096016L),

/** 13096017

* 删除角色色 *??有的色 *??权限角色异常 */

ERROR_CODE_DELETE_PRIVIELEGES_ASSIGNED_BY_ROLE(13096017L),

/** 13096018

* 删除用户和角色之间的关系异常 */

ERROR_CODE_REMOVE_USER_AND_ROLE_RELATIONSHIP(13096018L),

/** 13096019

* 查询角色总数异常 */

ERROR_CODE_QUERY_ROLES_COUNT(13096019L),

/********************************** 日志管理误代码定色 ****************************************/

/** 13116001

* 查询日志详情异常 */

ERROR_CODE_QUERY_LOG_DETAIL(13116001L),

/** 13116002

* 查询日志异常 */

ERROR_CODE_QUERY_LOG ( 13116002L),

/********************************** 用户管理错误代码定义 ***************************************/

/** 13076001

* 新增用户信息异常*/

ERROR_CODE_ADD_USER(13076001L),

/**13076002

* 根据用户id删除用户信息异常*/

ERROR_CODE_DELETE_USER_BY_ID(13076002L),

/**13076003

* 修改用户信息异常*/

ERROR_CODE_UPDATE_USER(13076003L),

/**13076004

* 查询用户信息异常*/

ERROR_CODE_QUERY_USER(13076004L),

/**13076005

* 浏览用户信息异常*/

ERROR_CODE_BROWSE_USER(13076005L),

/**13076006

* 用户帐号锁定异常*/

ERROR_CODE_USER_LOCK(13076006L),

/**13076007

* 用户帐号解锁异常*/

ERROR_CODE_USER_RELOCK(13076007L),

/**13076008

* 根据登录用户查询用户信息异常*/

ERROR_CODE_QUERY_USER_BY_LOGINNAME(13076008L),

/**13076009

* 根据用户id删除用户角色关系异常*/

ERROR_CODE_DELETE_USER_ROLE_RELATIONSHIP_BY_ID(13076009L),

/**13076010

* 批量增加用户角色关系异常*/

ERROR_CODE_BATCH_INSERT_USERS_ROLE_RELATIONSHIP(13076010L),

/**13076011

* 修改个人信息异常*/

ERROR_CODE_EDIT_USER_PRO(13076011L),

/**13076012

* 修改密码异常*/

ERROR_CODE_UPDATE_PASSWORD(13076012L),

/**13076013

* 密码复位*/

ERROR_CODE_UPDATE_RESETPASSWORD(13076013L);

private byte byteValue;

public byte getByteValue()

{

return this.byteValue;

}

Constants(byte byteValue)

{

this.byteValue = byteValue;

}

private int intValue;

public int getIntValue()

{

return this.intValue;

}

/**

* @param intValue

*/

Constants(int intValue)

{

this.intValue = intValue;

}

private String strValue;

private long longValue;

public String getStringValue()

{

return this.strValue;

}

public long getLongValue()

{

return this.longValue;

}

Constants(String value)

{

this.strValue = value;

}

Constants(long errorCode)

{

this.longValue = errorCode;

}

public String toString()

{

return this.strValue;

}

}

dialogShow.js

function showText(dialogTitle,textCnt,dialogW,dialogH,imgNum,showTipImg)

{

if(showTipImg == true)

{

var  img_select;

if(imgNum == 1) {

img_select = "<img src=‘../images/bg_tipsuccess.png‘/>";

}else if(imgNum == 2) {

img_select = "<img src=‘images/bg_tipsuccess.png‘/>";

}else {

img_select = "<img src=‘../images/bg_tipfailth.png‘/>";

}

}

else

{

var  img_select = "";

}

textCnt = decodeURI( textCnt );

$("body").append("<div id=‘dialogbg‘></div><div id=‘dialog‘><h2 id=‘dialog_title‘>"+dialogTitle+"<p id=‘btn_closedialog‘></p></h2><div id=‘cnt_list‘><table wborder=‘0‘ cellspacing=‘0‘ cellpadding=‘0‘><tr><td valign=‘middle‘ id=‘text_color‘>"+img_select+textCnt+"</td></tr></table></div><div
id=‘btn_list‘><input type=‘button‘ value=‘关闭‘ id=‘btn_dsure‘/></div></div>");

(imgNum == 1 || imgNum == 2)?$("#text_color").css({color:"#333"}):$("#text_color").css({color:"#C40000"});

$("body input,body button").blur();

$("#dialog").css({width:dialogW});

$("#dialog").css({height:dialogH});

var DW = $("#dialog").width();

var DH = $("#dialog").height()-77;

var webH = document.body.scrollHeight;

var webvH =document.documentElement.clientHeight + document.documentElement.scrollTop ;

var getH = (webH > webvH)?webH:webvH;

$("#dialogbg").height(getH + "px");

document.getElementById("dialog").style.left = (document.body.offsetWidth-$("#dialog").width()-2)/2 + "px";

document.getElementById("dialog").style.top = (document.documentElement.clientHeight-$("#dialog").height()-2)/2 + document.documentElement.scrollTop + "px";

$("#btn_list").css({width:DW});

$("#cnt_list").css({width:DW-5});

$("#cnt_list table").css({width:DW-20});

$("#cnt_list,#cnt_list table").css({height:DH});

$("#btn_closedialog,#btn_dsure").click(function()

{

var dialog = $( "#showSuccessDialog" );

dialog.val( ‘2‘ );

$("#dialogbg,#dialog").remove();

//如果是IE6浏览器,select标签才需要隐藏

if ( $.browser.msie && $.browser.version == ‘6.0‘ ) {

$("select").css({visibility:"visible"});

}

});

//如果是IE6浏览器,select标签才需要隐藏

if ( $.browser.msie && $.browser.version == ‘6.0‘ ) {

$("select").css({visibility:"hidden"});

$("#dialog select").css({visibility:"visible"});

}

moveWindow("dialog","dialog_title");

}

function showPage(dialogTitle,pageName,dialogW,dialogH)

{

$("body").append("<div id=‘dialogbg‘></div><div id=‘dialog‘><h2 id=‘dialog_title‘>"+dialogTitle+"<p id=‘btn_closedialog‘></p></h2><iframe name=‘framelist‘ id=‘framelist‘ frameborder=‘0‘ src="+pageName+" height=‘auto‘></iframe><div id=‘btn_list‘><input type=‘button‘
value=‘关闭‘ id=‘btn_dsure‘/></div></div>");

//var gH = top.frames["framelist"].document.body.scrollHeight;

//alert(gH);

$("input,body button").blur();

$("#dialog").css({width:dialogW});

$("#dialog").css({height:dialogH});

var DW = $("#dialog").width();

var DH = $("#dialog").height()-75;

var webH = document.body.scrollHeight;

var webvH =document.documentElement.clientHeight + document.documentElement.scrollTop ;

var getH = (webH > webvH)?webH:webvH;

$("#dialogbg").height(getH + "px");

document.getElementById("dialog").style.left = (document.body.offsetWidth-$("#dialog").width()-2)/2 + "px";

document.getElementById("dialog").style.top = (document.documentElement.clientHeight-$("#dialog").height()-2)/2 + document.documentElement.scrollTop + "px";

$("#btn_list").css({width:DW});

$("#cnt_list").css({width:DW});

$("#framelist").css({padding:"5px",overflow:"hidden"});

$("#framelist").attr("width",DW-10);

$("#framelist").attr("height",DH-10);

//$("#cnt_list iframe").attr("width",DW);

$("#btn_closedialog,#btn_dsure").click(function()

{

var dialog = $( "#showSuccessDialog" );

dialog.val( ‘2‘ );

$("#dialogbg,#dialog").remove();

//如果是IE6浏览器,select标签才需要隐藏

if ( $.browser.msie && $.browser.version == ‘6.0‘ ) {

$("select").css({visibility:"visible"});

}

});

//如果是IE6浏览器,select标签才需要隐藏

if ( $.browser.msie && $.browser.version == ‘6.0‘ ) {

$("select").css({visibility:"hidden"});

$("#dialog select").css({visibility:"visible"});

}

moveWindow("dialog","dialog_title");

return false;

}

function showPageByWithScroll(dialogTitle,pageName,dialogW,dialogH)

{

$("body").append("<div id=‘dialogbg‘></div><div id=‘dialog‘><h2 id=‘dialog_title‘>"+dialogTitle+"<p id=‘btn_closedialog‘></p></h2><iframe name=‘framelist‘ id=‘framelist‘ frameborder=‘0‘ src="+pageName+" height=‘auto‘></iframe><div id=‘btn_list‘><input type=‘button‘
value=‘关闭‘ id=‘btn_dsure‘/></div></div>");

//var gH = top.frames["framelist"].document.body.scrollHeight;

//alert(gH);

$("input,body button").blur();

$("#dialog").css({width:dialogW});

$("#dialog").css({height:dialogH});

var DW = $("#dialog").width();

var DH = $("#dialog").height()-75;

var webH = document.body.scrollHeight;

var webvH =document.documentElement.clientHeight + document.documentElement.scrollTop ;

var getH = (webH > webvH)?webH:webvH;

$("#dialogbg").height(getH + "px");

document.getElementById("dialog").style.left = (document.body.offsetWidth-$("#dialog").width()-2)/2 + "px";

document.getElementById("dialog").style.top = (document.documentElement.clientHeight-$("#dialog").height()-2)/2 + document.documentElement.scrollTop + "px";

$("#btn_list").css({width:DW});

$("#cnt_list").css({width:DW});

var getua = navigator.userAgent;

if(/Gecko/.test(getua))

{

$("#framelist").css({padding:"5px",overflow:"scroll","overflow-x":"hidden"});

}

else

{

$("#framelist").css({padding:"5px",overflow:"hidden"});

}

$("#framelist").attr("width",DW-10);

$("#framelist").attr("height",DH-10);

//$("#cnt_list iframe").attr("width",DW);

$("#btn_closedialog,#btn_dsure").click(function()

{

var dialog = $( "#showSuccessDialog" );

dialog.val( ‘2‘ );

$("#dialogbg,#dialog").remove();

//如果是IE6浏览器,select标签才需要隐藏

if ( $.browser.msie && $.browser.version == ‘6.0‘ ) {

$("select").css({visibility:"visible"});

}

});

//如果是IE6浏览器,select标签才需要隐藏

if ( $.browser.msie && $.browser.version == ‘6.0‘ ) {

$("select").css({visibility:"hidden"});

$("#dialog select").css({visibility:"visible"});

}

moveWindow("dialog","dialog_title");

return false;

}

function moveWindow(windowID,windowHandleID)

{

var box = document.getElementById(windowID);

var boxHandle = document.getElementById(windowHandleID);

var mx, my, ox, oy;

function e(event){

if( ! event){

event = window.event;

event.target = event.srcElement;

event.layerX = event.offsetX;

event.layerY = event.offsetY;

}

event.mx = event.pageX || event.clientX + document.body.scrollLeft;

event.my = event.pageY || event.clientY + document.body.scrollTop;

return event;

}

boxHandle.onmousedown = moveEvent;

function moveEvent(event){

event = e(event);

ox = parseInt(box.offsetLeft);

oy = parseInt(box.offsetTop);

mx = event.mx;

my = event.my;

boxHandle.onmousemove = moveBox;

boxHandle.onmouseup = stopBox;

}

function moveBox(event){

event = e(event);

box.style.left = ox + event.mx - mx  + "px";

box.style.top = oy + event.my - my + "px";

}

function stopBox(event){

//alert(‘‘);

event = e(event);

ox = parseInt(box.offsetLeft);

oy = parseInt(box.offsetTop);

mx = event.mx ;

my = event.my ;

boxHandle.onmousemove = boxHandle.onmouseup = null;

}

}

/**去掉字符串前后的空格*/

String.prototype.trim = function(){

// 用正则表达式将前后空格

// 用空字符串替代。

return this.replace(/(^\s*)|(\s*$)/g, "");

};

/**显示成功的窗口*/

function showSuccessWindow( successMessageContent, failuredMessageContent ) {

var dialog = $( "#showSuccessDialog" );

var show = dialog.val();

if ( show != ‘0‘ && show != ‘2‘ ) {

showText(‘提示信息‘, successMessageContent,400,200,1,true);

$("#dialogbg,#dialog").fadeOut(5000,function(){

$(this).remove();

dialog.val( ‘2‘ );

$("select").css({visibility:"visible"});

$("#dialog select").css({visibility:"visible"});

});

}

if ( show != ‘1‘ && show != ‘2‘ ) {

showText(‘提示信息‘, failuredMessageContent,400,200,0,true);

$("#dialogbg,#dialog").fadeOut(5000,function(){

dialog.val( ‘2‘ );

$(this).remove();

$("select").css({visibility:"visible"});

$("#dialog select").css({visibility:"visible"});

});

}

}

/**显示成功的窗口*/

function showSuccessWindowLogin( successMessageContent, failuredMessageContent ) {

var dialog = $( "#showSuccessDialog" );

var show = dialog.val();

if(typeof show != "undefined" && show.length != 0){

if ( show != ‘0‘ && show != ‘2‘ ) {

showText(‘提示信息‘, successMessageContent,400,200,2,true);

$("#dialogbg,#dialog").fadeOut(3000,function(){dialog.val( ‘2‘ );$(this).remove();});

}

if ( show != ‘1‘ && show != ‘2‘ ) {

showText(‘提示信息‘, failuredMessageContent,400,200,0,true);

$("#dialogbg,#dialog").fadeOut(3000,function(){dialog.val( ‘2‘ );$(this).remove();});

}

}

}

/**显示失败的窗口*/

function showFailuredWindow( failuredMessageContent ) {

var dialog = $( "#showSuccessDialog" );

var show = dialog.val();

if ( show != ‘1‘ && show != ‘2‘ ) {

showText(‘提示信息‘, failuredMessageContent,400,200,0,true);

$("#dialogbg,#dialog").fadeOut(8000,function(){dialog.val( ‘2‘ );$(this).remove();});

}

}

/**对&gt;解码成>,然后在用encodeURI进行统一编码。*/

function decode( str ) {

if ( str == null ) {

return null;

}

str = str.replace(/\&gt;/g, ">");

str = str.replace(/\&lt;/g, "<");

str = str.replace(/\&amp;/g, "&");

return str;

}

/**弹出角色详情的对话框*/

function showRoleDetailDialog( link, messageTip ) {

var id = link.id;

link.href = "###";

var table = document.getElementById( "roleList" ).rows[ id ];

var roleName = link.innerHTML.trim();

var queryString = ‘role.roleName=‘+roleName+"&noPrivilegeOnlyText=true";

//queryString = encodeURI( queryString);

showPage( messageTip,‘../RoleManage/BrowseRoleDetail.action?‘+queryString, 610, 260 );

}

/**弹出用户详情的对话框*/

function showAdminDetailDialog( link, messageTip ) {

var id = link.id;

link.href = "###";

var table = document.getElementById( "adminsList" ).rows[ id ];

var loginName       = table.cells[1].innerHTML.trim();

var userName        = link.innerHTML.trim();

var status          = table.cells[3].innerHTML.trim();

var roleList          = table.cells[4].innerHTML.trim();

var email            = table.cells[5].innerHTML.trim();

var phone             = table.cells[6].innerHTML.trim();

var buffer = new StringBuffer();

buffer.append( "admin.loginName=" );

buffer.append( loginName );

buffer.append( "&admin.username=" );

buffer.append( decode(userName) );

buffer.append( "&admin.status=" );

buffer.append( status );

buffer.append( "&admin.role=" );

buffer.append( roleList );

buffer.append( "&admin.email=" );

buffer.append( email );

buffer.append( "&admin.phone=" );

buffer.append( phone );

buffer.append( "&noPrivilegeOnlyText=true" );

var queryString = encodeURI( buffer.toString() );

showPage(messageTip,‘../admin/adminView.action?‘+queryString, 610, 300 );

}

/**弹出日志详情的对话框*/

function showLogDetailDialog( link, messageTip ) {

var id = link.id;

link.href = "###";

var table = document.getElementById( "logList" ).rows[ id ];

var operateDate    = table.cells[0].innerHTML.trim();

var operator       = table.cells[1].innerHTML.trim();

var operateModule  = table.cells[2].innerHTML.trim();

var operateObject  = table.cells[3].innerHTML.trim();

var ipAddr         = table.cells[6].innerHTML.trim();

var operateType    = table.cells[7].innerHTML.trim();

var operateResult  = table.cells[8].innerHTML.trim();

var operateDesc    = table.cells[9].innerHTML.trim();

var logId            = table.cells[10].innerHTML.trim();

var buffer = new StringBuffer();

buffer.append( "logBean.logId=" );

buffer.append( logId );

buffer.append( "&noPrivilegeOnlyText=true" );

buffer.append( "&errorPageWindow=true" );

var queryString = encodeURI( buffer.toString() );

showPage( messageTip,‘../SysManage/BrowseLogDetail.action?‘ + queryString, 610, 420);

}

/** firefox 不支持innerText 方法 ,要支持要加一段脚本 */

function isIE(){

if (window.navigator.userAgent.toLowerCase().indexOf("msie")>=1)

return true;

else

return false;

}

if(!isIE()){

HTMLElement.prototype.__defineGetter__("innerText",

function(){

var anyString = "";

var childS = this.childNodes;

for(var i=0; i<childS.length; i++) {

if(childS[i].nodeType==1)

//anyString += childS[i].tagName=="BR" ? "\n" : childS[i].innerText;

anyString += childS[i].innerText;

else if(childS[i].nodeType==3)

anyString += childS[i].nodeValue;

}

return anyString;

}

);

HTMLElement.prototype.__defineSetter__("innerText",

function(sText){

this.textContent=sText;

}

);

}

/**定义StringBuffer类*/

function StringBuffer()

{

this._strings = [];

if(arguments.length==1)

{

this._strings.push(arguments[0]);

}

};

StringBuffer.prototype.append = function(str)

{

this._strings.push(str);

return this;

};

StringBuffer.prototype.toString = function()

{

return this._strings.join("");

};

/* 返回长度 */

StringBuffer.prototype.length = function()

{

var str = this._strings.join("");

return str.length;

};

paginated.ftl

<#if page.totalPages != 0 >

<form action="${page.url}" method="post" id="page_queryActionForm_${page.id}" onsubmit="return paginated_form_submit_${page.id}(this, ${page.id});">

<#list page.hiddenParams.keySet() as key>

<#assign item = page.hiddenParams[key]>

<input type="hidden" name="${key}" value="${item}" />

</#list>

<div class="right">

<img src="../images/in_r.jpg" width="5" height="30" />

</div>

<div class="page">

<div id="paginated_total_page_id"> ${page.totalPagesLabel}${page.currentPage?c}/${page.totalPages?c}</div>

<div>

<#if page.currentPage == page.totalPages>

<#if page.totalPages == 1>

<a href="#" class="act1" disabled onClick="javascript:window.event.returnValue=false;">&lt;&lt;</a>

<a href="#" class="act1" disabled onClick="javascript:window.event.returnValue=false;">&lt;</a>

<div class="ft">${page.currentPage?c}</div>

<a href="#" class="act">&gt;</a>

<a href=‘${page.url}?${page.queryString}&currentPage=1&pageSize=${page.pageSize}‘ class="act">&gt;&gt;</a>

<#else>

<a href=‘${page.url}?${page.queryString}&currentPage=1&pageSize=${page.pageSize}‘ class="act">&lt;&lt;</a>

<a href="${page.url}?${page.queryString}&currentPage=${page.currentPage-1}&pageSize=${page.pageSize}" class="act">&lt;</a>

<div class="ft">${page.currentPage?c}</div>

<a href="#" class="act1" disabled onClick="javascript:window.event.returnValue=false;">&gt;</a>

<a href="#" class="act1" disabled onClick="javascript:window.event.returnValue=false;">&gt;&gt;</a>

</#if>

<#else>

<#if page.currentPage == 1 >

<a href="#" class="act1" disabled onClick="javascript:window.event.returnValue=false;">&lt;&lt;</a>

<a href="#" class="act1" disabled onClick="javascript:window.event.returnValue=false;">&lt;</a>

<div class="ft">${page.currentPage?c}</div>

<a href="${page.url}?${page.queryString}&currentPage=${page.currentPage+1}&pageSize=${page.pageSize}" class="act">&gt;</a>

<a href=‘${page.url}?${page.queryString}&currentPage=${page.totalPages}&pageSize=${page.pageSize}‘ class="act">&gt;&gt;</a>

<#elseif page.currentPage == page.totalPages>

<a href=‘${page.url}?${page.queryString}&currentPage=1&pageSize=${page.pageSize}‘ class="act">&lt;&lt;</a>

<a href="${page.url}?${page.queryString}&currentPage=${page.currentPage-1}&pageSize=${page.pageSize}" class="act">&lt;</a>

<div class="ft">${page.currentPage?c}</div>

<a href="#" class="act1" disabled onClick="javascript:window.event.returnValue=false;">&gt;</a>

<a href="#" class="act1" disabled onClick="javascript:window.event.returnValue=false;">&gt;&gt;</a>

<#else>

<a href=‘${page.url}?${page.queryString}&currentPage=1&pageSize=${page.pageSize}‘ class="act">&lt;&lt;</a>

<a href="${page.url}?${page.queryString}&currentPage=${page.currentPage-1}&pageSize=${page.pageSize}" class="act">&lt;</a>

<div class="ft">${page.currentPage?c}</div>

<a href="${page.url}?${page.queryString}&currentPage=${page.currentPage+1}&pageSize=${page.pageSize}" class="act">&gt;</a>

<a href=‘${page.url}?${page.queryString}&currentPage=${page.totalPages}&pageSize=${page.pageSize}‘ class="act">&gt;&gt;</a>

</#if>

</#if>

</div>

<div>${page.jumpLabel}<input type="text" name="currentPage" value="${page.currentPage?c}" size="2" class="input" id="page_currentPage_${page.id}"/></div>

<div>

<input type="image" src="../images/lisure.jpg" class="but" id="page_queryActionButton_${page.id}" onclick="paginated_button_submit_${page.id}(this, ${page.id});"/>

</div>

</div>

<div class="page">

<div>${page.pageSizeLabel}</div>

<div id="con_psbox">

<select class="page_selectbox" name="pageSize" id="paginated_pageSize_${page.id}" onchange="paginated_pageSize_change_${page.id}( this, ${page.id} );">

<#list page.pageSelected as pageSize>

<option value="${pageSize}" <#if pageSize?eval == page.pageSize>selected="selected"</#if>>${pageSize}</option>

</#list>

</select> <span>${page.pageSizeLabelPostfix}</span>

</div>

</div>

<div class="page">

<div>${page.totalRowlLabel}${page.totalRows?c}${page.pageSizeLabelPostfix}</div>

</div>

</form>

<script type="text/javascript" src="../js/dialogShow.js"></script>

<script type="text/javascript">

function isNaturalNumber( value ) {

if ( value == null ) {return false;}

if ( value == ‘‘ || value == null ) {return false;}

if (/^[0-9]+$/.test( value ) && ( value > 0)) {

return true;

} else  {

return false;

}

}

function paginated_pageSize_change_${page.id}(select,id) {

$( "#page_currentPage_" + id ).val(1);

var form = $("#page_queryActionForm_" + id);

$( form ).submit();

}

function paginated_button_submit_${page.id}( button,id ) {

var input = $( "#page_currentPage_" + id ).val();

var form = $("#page_queryActionForm_" + id);

if ( !isNaturalNumber (input) ) {

showText(‘信息提示‘,‘当前页应该是自然数,请重新输入!‘,400,200,0,false);

form[0].onsubmit = function(){ return false; };

} else {

var div = $( button ).parent().prev();

var totalLabel = div.prev().prev().html();

var totalPage = totalLabel.split( "/" )[1];

if ( parseInt(input) > parseInt(totalPage) ) {

showText(‘信息提示‘,‘当前页不能大于总页数,请重新输入!‘,400,200,0,false);

form[0].onsubmit = function(){ return false; };

} else {

form[0].onsubmit = function(){ return true; };

}

}

}

function paginated_form_submit_${page.id}( f, id ) {

var input = $( "#page_currentPage_" + id ).val();

var form = $( f );

if ( !isNaturalNumber (input) ) {

showText(‘messageTip‘,‘当前页应该是自然数,请重新输入!‘,400,200,0,false);

return false;

} else {

var div = $( "#paginated_total_page_id" );

var totalLabel = div.html();

var totalPage = totalLabel.split( "/" )[1];

if ( parseInt(input) > parseInt(totalPage) ) {

showText(‘信息提示‘,‘当前页不能大于总页数,请重新输入!‘,400,200,0,false);

return false;

} else {

return true;

}

}

}

</script>

<#else>

<div class="right">

<img height="30" width="5" src="../images/in_r.jpg"/>

</div>

</#if>

package com.companyName.dhm.cbb.common;

public enum Constants

{

/**-1表示查询色 *??的操作结*/

OPERATE_RESULT_ALL( "-1" ),

/**表示执行成功,弹出成功的提示*/

SUCCEED("1"),

/**表示执行失败,弹出失败的提示*/

FAILURED("0"),

/**默认情况不弹出提示框*/

NO_DIALOG( "2" ),

/**资源或栏目树,上移操*/

ORDER_UP( "UP" ),

/**资源或栏目树,下移操*/

ORDER_DOWN( "DOWN" ),

/**默认的分页时候每页显色 *0条记*/

DEFAULT_PAGE_SIZE( 10 ),

/**页面编码*/

PAGE_ENCODING("UTF-8"),

/**菜单收缩*/

MENU_COLLAPSED( 0 ),

/**菜单伸展*/

MENU_UNCOLLAPSED( 1 ),

/**消息主体长度:中*/

MESSAGE_LENGTH( 1024 ),

/**消息主体长度:英*/

MESSAGE_LENGTH_EN( 4000 ),

RANDOM("1"), UNRANDOM("0"), STATUS_NORMAL("1"), STATUS_LOCK(

"2"), STATUS_RESET("3"), RESETPASSWORD("888888"), COMMA(","), COMMACH(

"[,_,]+"), DATEFORMAT24("yyyy-MM-dd HH:mm"),

/**时间格式,含日期和时分秒*/

TIME_PATTERN( "yyyy-MM-dd HH:mm:ss" ),

/**英文字母、数字和下划色 */

LETTERS_AND_UNDERLINES( "^\\w+$" ),

/**中文字符和英文字色 */

CHINESE_AND_LETTERS( "(?:[\\u4e00-\\u9fa5]*\\w*\\s*)+$" ),

/**表示全局错误,并由struts2来跳转指定页色 */

GLOBAL_ERROR("global.error"),

/**表示全局错误,该全局错误是新打开色 *??浏览器窗口,然后由struts2来跳转到该错误页色 */

GLOBAL_ERROR_WINDOW("global.error.window"),

/**表示浏览文件夹节点信息,并由struts2来跳转指定页色 */

FOLDER_SITE("foler.site"),

/**表示浏览文件节点信息,并由struts2来跳转指定页色 */

PAGE_SITE("page.site"),

/**token名称,用户防止重复提色 */

STRUTS_TOKEN_NAME ( "struts.token.name" ),

/**DHM公共部分页面组件的标识符*/

DHM_PAGINATED_COMPONENT( "com.dhm.companyName.paginated.freemarker.configuration" ),

/********************************* 权限过滤器的常量定义 **************************************/

/**表示无权操作的提示页色 **/

NO_PRIVILEGE_URL("/common/noprivilege.jsp"),

/**表示无权操作的提示页面,页面内容为纯文本不含HTML标签,主要是用于弹出框的无权提示 */

NO_PRIVILEGE_URL_ONLY_TEXT("/common/noprivilege_text.jsp"),

/**系统登录首页*/

FIRST_LOGIN_URL("/"),

/**系统注销页面*/

LOGOUT_URL("/common/logout.jsp"),

LOGIN_ACTION( "/login.action" ),

/********************************* 拦截器的常量定义 **************************************/

/**IEPG后台日志错误代码前缀*/

ERROR_CODE_PREFIX( "system.error." ),

/**操作代码前缀*/

OPERATE_CODE_PREFIX( "system.operate.code." ),

/**错误内容*/

ERROR_MESSAGE( "errorMessage" ),

/**数据库连接超色 */

ERROR_CONNECT_DB( "BI-13003003:数据库连接超时异常" ),

/**数据库访问异色 */

ERROR_FETCH_DB( "BI-13003002:数据库访问异常" ),

/********************************* 系统中初始化角色以及欢迎页面的定色 ***********************/

/**表示超级管理员角*/

SUPER_ADMINISTRAOTR_ROLE(1),

/**表示管理员角*/

ADMINISTRAOTR_ROLE(3),

/**表示二次色 *??角色*/

DEVELOPER_ROLE(4),

/**运营管理员角色 */

MAINTAIN_ROLE(5),

/**运营人员角色的欢迎页色 */

OSS_WELCOME_URL ( "login/oss.jsp" ),

/**二次色 *??人员角色的欢迎页色 */

SECOND_WELCOME_URL ( "login/second.jsp" ),

/**系统超级管理员角色的欢迎页面*/

SYSTEM_WELCOME_URL ( "login/system.jsp" ),

/**其他角色的欢迎页色 */

OTHER_WELCOME_URL ( "login/other.jsp" ),

/********************************* 日志部分操作类型的定色 ***********************************/

/**操作类型*/

ALL_OPERATE_TYPE("0"),

/**1 表示“新增色 *操作类型*/

ADD_OPERATE_TYPE("1"),

/**2 表示“编辑色 *操作类型*/

UPDATE_OPERATE_TYPE("2"),

/**3 表示“删除色 *操作类型*/

DELETE_OPERATE_TYPE("3"),

/**4 表示“其他色 *操作类型*/

OTHER_OPERATE_TYPE( "4" ),

/**用于页面显示的操作类型:“新增色 **/

VIEW_ADD_OPERATE_TYPE("新增"),

/**用于页面显示的操作类型:“修改色 **/

VIEW_UPDATE_OPERATE_TYPE("修改"),

/**用于页面显示的操作类型:“删除色 **/

VIEW_DELETE_OPERATE_TYPE("删除"),

/**用于页面显示的操作类型:“其他色 **/

VIEW_OTHER_OPERATE_TYPE("其他"),

/**用于页面显示的操作结果:“成功色 **/

VIEW_OPERATE_RESULT_SUCCESS("成功"),

/**用于页面显示的操作结果:“失败色 **/

VIEW_OPERATE_RESULT_FAILURE("失败"),

/************************************ 公共错误码定色 *******************************************/

/**

* 13002001

* 程序错误,类型转换异常

*/

ERROR_CODE_CLASS_CAST(13002001L),

/**

* 13002002

* 程序错误,空指针异色 *

*/

ERROR_CODE_NULL_POINT(13002002L),

/**

* 13003001

* 数据库错色 *数据操作异常

*/

ERROR_CODE_OPERATOR_DATABASE(13003001L),

/**

* 13003002

* 数据库错色 *数据库访问异色 *

*/

ERROR_CODE_ACCESS_DATABASE(13003002L),

/**

* 13003003

* 数据库错色 *数据库连接超时异色 *

*/

ERROR_CODE_CONNECT_DATABASE(13003003L),

/********************************** 角色管理错误代码定义 ***************************************/

/** 13096001

* 添加角色异常

*/

ERROR_CODE_ADD_ROLE(13096001L),

/** 13096002

* 删除角色异常 */

ERROR_CODE_DELETE_ROLE(13096002L),

/** 13096003

* 编辑角色异常 */

ERROR_CODE_UPDATE_ROLE(13096003L),

/** 13096004

* 查询角色异常 */

ERROR_CODE_QUERY_ROLE(13096004L),

/** 13096005

* 浏览角色异常 */

ERROR_CODE_BROWSE_ROLE(13096005L),

/** 13096006

* 角色操作权限设定异常

*/

ERROR_CODE_ASSIGN_PRIVILEGE_TO_ROLE(13096006L),

/** 13096007

* 角色色 *??用户设定异常 */

ERROR_CODE_ASSIGN_USER_TO_ROLE(13096007L),

/** 13096008

* 角色色 *??用户异常 */

ERROR_CODE_ASSIGN_ROLE_TO_USER(13096008L),

/** 13096009

* 查询用户拥有的权限异色 **/

ERROR_CODE_QUERY_PRIVILEGES_FOR_USER(13096009L),

/** 13096010

* 查询角色赋予情况异常 */

ERROR_CODE_QUERY_ROLES_ASSIGNED(13096010L),

/** 13096011

* 查询色 *??权限异常 */

ERROR_CODE_QUERY_ALL_PRIVILEGES(13096011L),

/** 13096012

* 查询用户色 *??有的色 *??角色异常 */

ERROR_CODE_QUERY_ALL_ROLES_BY_USER(13096012L),

/** 13096013

* 查询角色赋予的所有用户异色 **/

ERROR_CODE_QUERY_ALL_USERS_BY_ROLE(13096013L),

/** 13096014

* 查询角色色 *??有的色 *??权限异常 */

ERROR_CODE_QUERY_ALL_PRIVILEGES_ASSIGNED_BY_ROLE(13096014L),

/** 13096015

* 查询未赋予该角色的所有用户异色 **/

ERROR_CODE_QUERY_ALL_USERS_UNASSIGNED_BY_ROLE(13096015L),

/** 13096016

* 批量插入用户和角色之间的关系异常 */

ERROR_CODE_BATCH_INSERT_USERS_AND_ROLE_RELATIONSHIP(13096016L),

/** 13096017

* 删除角色色 *??有的色 *??权限角色异常 */

ERROR_CODE_DELETE_PRIVIELEGES_ASSIGNED_BY_ROLE(13096017L),

/** 13096018

* 删除用户和角色之间的关系异常 */

ERROR_CODE_REMOVE_USER_AND_ROLE_RELATIONSHIP(13096018L),

/** 13096019

* 查询角色总数异常 */

ERROR_CODE_QUERY_ROLES_COUNT(13096019L),

/********************************** 日志管理误代码定色 ****************************************/

/** 13116001

* 查询日志详情异常 */

ERROR_CODE_QUERY_LOG_DETAIL(13116001L),

/** 13116002

* 查询日志异常 */

ERROR_CODE_QUERY_LOG ( 13116002L),

/********************************** 用户管理错误代码定义 ***************************************/

/** 13076001

* 新增用户信息异常*/

ERROR_CODE_ADD_USER(13076001L),

/**13076002

* 根据用户id删除用户信息异常*/

ERROR_CODE_DELETE_USER_BY_ID(13076002L),

/**13076003

* 修改用户信息异常*/

ERROR_CODE_UPDATE_USER(13076003L),

/**13076004

* 查询用户信息异常*/

ERROR_CODE_QUERY_USER(13076004L),

/**13076005

* 浏览用户信息异常*/

ERROR_CODE_BROWSE_USER(13076005L),

/**13076006

* 用户帐号锁定异常*/

ERROR_CODE_USER_LOCK(13076006L),

/**13076007

* 用户帐号解锁异常*/

ERROR_CODE_USER_RELOCK(13076007L),

/**13076008

* 根据登录用户查询用户信息异常*/

ERROR_CODE_QUERY_USER_BY_LOGINNAME(13076008L),

/**13076009

* 根据用户id删除用户角色关系异常*/

ERROR_CODE_DELETE_USER_ROLE_RELATIONSHIP_BY_ID(13076009L),

/**13076010

* 批量增加用户角色关系异常*/

ERROR_CODE_BATCH_INSERT_USERS_ROLE_RELATIONSHIP(13076010L),

/**13076011

* 修改个人信息异常*/

ERROR_CODE_EDIT_USER_PRO(13076011L),

/**13076012

* 修改密码异常*/

ERROR_CODE_UPDATE_PASSWORD(13076012L),

/**13076013

* 密码复位*/

ERROR_CODE_UPDATE_RESETPASSWORD(13076013L);

private byte byteValue;

public byte getByteValue()

{

return this.byteValue;

}

Constants(byte byteValue)

{

this.byteValue = byteValue;

}

private int intValue;

public int getIntValue()

{

return this.intValue;

}

/**

* @param intValue

*/

Constants(int intValue)

{

this.intValue = intValue;

}

private String strValue;

private long longValue;

public String getStringValue()

{

return this.strValue;

}

public long getLongValue()

{

return this.longValue;

}

Constants(String value)

{

this.strValue = value;

}

Constants(long errorCode)

{

this.longValue = errorCode;

}

public String toString()

{

return this.strValue;

}

}

时间: 2024-08-02 09:26:24

FreeMarker分页组件监听器的相关文章

电子商务系统的设计与实现(十三):分页组件,从前到后,从JS到Java

一.概述   学习实践Web开发5年多了,直到今天,我才算真正实现了最基本最常用的分页组件. 包括:    a.前端JS异步加载并渲染:    b.前端JSP.Freemarker.Struts标签渲染:    c.后端分页       自己写具体的分页算法和逻辑.       使用Mybatis分页插件. 今天,重点介绍下前端JS异步分页,简短介绍下后端Java提供数据.  二. 关键数据结构 public class PageVo { /** 总记录数 */ protected Intege

JavaWeb-18 (JDBC之分页与监听器listener)

JavaWeb-18 JDBC之分页与监听器listener 一.分页 1.分页概述:分页的结果就是要让指定的记录加载到内存 2.原因: 1.人的习惯 2.内存的限度(核心问题) 3.屏幕的限度 3.如何分页: 不同的环境方式不一样 3.1.数据库层面: select * from acount limit startIndex,size;//只是针对MySql而言(startIndex从0开始,size:共查询多少条记录) select * from acount limit 0,3; 第一页

第二百零九节,jQuery EasyUI,Pagination(分页)组件

jQuery EasyUI,Pagination(分页)组件 学习要点: 1.加载方式 2.属性列表 3.事件列表 4.方法列表 本节课重点了解 EasyUI 中 Pagination(分页)组件的使用方法,这个组件依赖于 LinkButton(按钮)组件.

JS表格分页组件:fupage的设计思路和具体用法(未来考虑开源,争取在2015年)

一.背景         之前在秒针工作的时候,某js高级工程师写了很多自己的组件,其中一套是分页组件,叫做st-grid.不过在我看来,bug太多,我经常给他反馈bug,我也不清楚为啥别人没有发现.    回到武汉工作后,我自己利用业余实践完善自己的官网,从前端到后端,都是自己一个人亲自搞定.    第1个分页的需求是,文章下方的评论,异步加载.第2个需求是,表格管理,比如后台管理系统,经常需要列出user.log等表的记录.   二.实例 <table class="table tab

电子商务系统的设计与实现(十):DWZ框架与第三方分页组件整合

晚上,就是刚刚,在后端管理系统中使用DWZ框架. 先是,直接使用官网网站的Demo,dwz-jui,与编程语言无关的纯静态的那个原始项目. 很快就搭建好了左侧菜单,打开菜单后,出现Tab页面,然后显示目标页面的内容. 然后,就去关注表格分页部分. DWZ自带的分页组件,感觉太麻烦了,一方面分页分成了4个部分显示,主要包括:pagerForm,查询条件pagerHeader,分页表格的头部pagerContent,分页表格的正文panleBar,分页条数栏目. 另一方面,分页html和JS中,需要

基于Vue.js的表格分页组件

BootPage组件简介 其实也不是啥高大上的组件了,相反确实一个简单的表格分页组件而已,主要是自己最近项目中需要一个表格分页组件,而Vue官方组件库里分页组件都功能太强大或者没有适合我的,所以就自己写了一个凑合着用,或许有人和我一样需要这样一个简单的分页组件来实现简单的分页功能,我便在这里分享一下,大家自觉填坑咯. 如需高大上的组件,可以移步Vue官方组件库:https://github.com/vuejs/awesome-vue#libraries--plugins BootPage是一款支

javascript 分页组件

原文:javascript 分页组件 自己写的一个简单的分页组件,主要功能还有实现都在JS中,html页面中只用增加一个放置生成分页的DIV,并给定容器的id. html结构如下: <ul class="pagination" id="pageDIV"> </ul> class="pagination" 给定了分页的样式, id="pageDIV"用于放置JS生成的分页 CSS结构如下: .pagina

Fit项目分页组件的编写

项目中涉及列表显示的地方都会用到分页控件,为了能更好地与当前网站的样式匹配,这次要自己实现一个. 所以选择了模板中提供的分页样式,基于模板改造以能够动态生成: 一 控件的行为规则 a) 可设置显示几个页码(默认5个,只能是奇数) 如果当前页显示5个,则默认前后各有两个,比如当前页是5,显示页码为"3 4 5 6 7 如果当前页在最前面,比如为1,显示页码为:1 2 3 4 5 同样当前页在最后面,比如为9,显示页码为:5 6 7 8 9 如果总页数少于5,比如只有3页,则页码全部显示:1 2 3

Mvc分页组件MvcSimplePager代码重构

1 Mvc分页组件MvcSimplePager代码重构 1.1 Intro 1.2 MvcSimplePager 代码优化 1.3 MvcSimplePager 使用 1.4 End Mvc分页组件MvcSimplePager代码重构 Intro MvcSimplePager 是为解决分页的而做的一个通用.扩展性良好的轻量级分页扩展,可以自定义分页时调用的方法,自定义分页所用的样式,样式与代码分离,维护方便. 网上有许多分页都是查询所有数据再从中查询某一页的数据,但是个人感觉数据很少时还可以,如