自定义分页标签最新修改版
Thinkphp5自定义分页样式显示页码和数量

Thinkphp5⾃定义分页样式显⽰页码和数量Thinkphp5 ⾃带的分页⽐较简单,本⽂通过修改Bootstrap类⾃定义显⽰分页的页码和数量⼀、修改完成后如下图显⽰⼆、修改Bootstrap代码:1、为了不改动Bootstrap.php源代码,拷贝thinkphp⽬录下的Bootstrap.php重新命名为BootstrapDetailed.php2、BootstrapDetailed代码<?php// +----------------------------------------------------------------------// | ThinkPHP [ WE CAN DO IT JUST THINK ]// +----------------------------------------------------------------------// | Copyright (c) 2006~2017 All rights reserved.// +----------------------------------------------------------------------// | Licensed ( /licenses/LICENSE-2.0 )// +----------------------------------------------------------------------// | Author: zhangyajun <448901948@>// +----------------------------------------------------------------------namespace think\paginator\driver;use think\Paginator;class BootstrapDetailed extends Paginator{/*** 上⼀页按钮* @param string $text* @return string*/protected function getPreviousButton($text = "上⼀页"){if ($this->currentPage() <= 1) {return $this->getDisabledTextWrapper($text);}$url = $this->url($this->currentPage() - 1);return $this->getPageLinkWrapper($url, $text);}//总数标签protected function totalshow(){$totalhtml="<li class=\"disabled\"><span>共".$this->total."条记录  第".$this->currentPage()."页/共".$this->lastPage()."页</span></li>"; return $totalhtml;}//尾页标签protected function showlastpage($text = '尾页'){if($this->currentPage()==$this->lastPage()){return $this->getDisabledTextWrapper($text);}$url = $this->url($this->lastPage());return $this->getPageLinkWrapper($url, $text);}//⾸页标签protected function showfirstpage($text = '⾸页'){if($this->currentPage()==1){return $this->getDisabledTextWrapper($text);}$url = $this->url(1);return $this->getPageLinkWrapper($url, $text);}//后五页protected function afivepage($text = '后五页'){if($this->lastPage()<$this->currentPage()+5){return $this->getDisabledTextWrapper($text);}$url = $this->url($this->currentPage()+5);return $this->getPageLinkWrapper($url, $text);}//前五页protected function bfivepage($text = '前五页'){if($this->currentPage()<5){return $this->getDisabledTextWrapper($text);}$url = $this->url($this->currentPage()-5);return $this->getPageLinkWrapper($url, $text);}/*** 下⼀页按钮* @param string $text* @return string*/protected function getNextButton($text = '下⼀页'){if (!$this->hasMore) {return $this->getDisabledTextWrapper($text);}$url = $this->url($this->currentPage() + 1);return $this->getPageLinkWrapper($url, $text);}//跳转到哪页protected function gopage(){return $gotohtml="<li><form action='' method='get' ><span><input type='text' name='page'> <input type='submit' value='确定'> </span></form></li>"; // return $totalhtml;;}/*** 页码按钮* @return string*/protected function getLinks(){if ($this->simple)return '';$block = ['first' => null,'slider' => null,'last' => null];$side = 2;$window = $side * 2;if ($this->lastPage < $window +1) {$block['slider'] = $this->getUrlRange(1, $this->lastPage);} elseif ($this->currentPage <= $window-1) {$block['slider'] = $this->getUrlRange(1, $window + 1);} elseif ($this->currentPage > ($this->lastPage - $window+1)) {$block['slider'] = $this->getUrlRange($this->lastPage - ($window), $this->lastPage);} else {$block['slider'] = $this->getUrlRange($this->currentPage - $side, $this->currentPage + $side); }$html = '';if (is_array($block['first'])) {$html .= $this->getUrlLinks($block['first']);}if (is_array($block['slider'])) {$html .= $this->getUrlLinks($block['slider']);}if (is_array($block['last'])) {$html .= $this->getUrlLinks($block['last']);}return $html;}/*** 渲染分页html* @return mixed*/public function render(){if ($this->hasPages()) {if ($this->simple) {return sprintf('<ul class="pager">%s %s %s</ul>',$this->getPreviousButton(),$this->getNextButton());} else {return sprintf('<ul class="pagination"> %s %s %s %s %s %s %s %s </ul>',//显⽰数量页码信息$this->totalshow(),//第⼀页$this->showfirstpage(),//上⼀页$this->getPreviousButton(),//前五页$this->bfivepage(),//页码$this->getLinks(),//后五页$this->afivepage(),//下⼀页$this->getNextButton(),//最后⼀页$this->showlastpage()//最后再加个参数 %s 可以显⽰跳转到哪页// $this->gopage());}}}/*** ⽣成⼀个可点击的按钮** @param string $url* @param int $page* @return string*/protected function getAvailablePageWrapper($url, $page){return '<li><a href="' . htmlentities($url) . '">' . $page . '</a></li>'; }/*** ⽣成⼀个禁⽤的按钮** @param string $text* @return string*/protected function getDisabledTextWrapper($text){return '<li class="disabled"><span>' . $text . '</span></li>';}/*** ⽣成⼀个激活的按钮** @param string $text* @return string*/protected function getActivePageWrapper($text){return '<li class="active"><span>' . $text . '</span></li>';}/*** ⽣成省略号按钮** @return string*/protected function getDots($text = '...'){//$url = $this->url($this->currentPage() + 1);// return $this->getPageLinkWrapper($url, $text);return $this->getDisabledTextWrapper('...');}/*** 批量⽣成页码按钮.** @param array $urls* @return string*/protected function getUrlLinks(array $urls){$html = '';foreach ($urls as $page => $url) {$html .= $this->getPageLinkWrapper($url, $page);}return $html;}/*** ⽣成普通页码按钮** @param string $url* @param int $page* @return string*/protected function getPageLinkWrapper($url, $page){if ($page == $this->currentPage()) {return $this->getActivePageWrapper($page);}return $this->getAvailablePageWrapper($url, $page); }}3、使⽤⽅法$test=Db::name("test")->paginate(2,false,['type'=>'BootstrapDetailed']);。
element的pagination自定义

element的pagination自定义element-ui的pagination组件提供了许多默认样式和功能,但也可以通过自定义样式和事件等方式进行定制化。
1. 自定义样式可以通过`slot-scope`实现自定义分页按钮的样式,示例代码如下:html<el-pagination:total="100":page-size="10"layout="prev, pager, next"><template slot="prev"><span class="prev-btn">Prev</span></template><template slot="next"><span class="next-btn">Next</span></template></el-pagination>其中,`prev`和`next`表示上一页和下一页的按钮槽,可以写入自定义的HTML 标签和样式类,例如上面的代码将分页按钮改为了`Prev`和`Next`文字样式。
2. 自定义事件可以通过绑定事件方式实现自定义分页场景的功能扩展,示例代码如下:html<el-pagination:total="100":page-size="10"@current-change="handleCurrentChange"></el-pagination>其中,`current-change`表示页码改变时触发的事件名称,可以绑定自定义事件回调函数,例如:jsmethods: {handleCurrentChange(val) {console.log(`当前页码是{val}`);}}可以通过`val`参数获取当前页码值,实现自定义的分页策略和数据处理逻辑。
T13 自定义标签

2、使用自定义标签 、
<xf:helloworld /><br> <xf:hello>清华IT</xf:hello>
复杂的自定义的标签-1 复杂的自定义的标签
带属性设置的标签
例子: 例子:HelloAttTag
带body的自定义标签 的自定义标签
BodyTag接口 主要处理带正文的标签 接口:主要处理带正文的标签 接口
是一个标记接口,它有一个直接子接口 是一个标记接口,它有一个直接子接口: Tag接口, 它是经典的、必须实现的接口。 接口, 接口 它是经典的、必须实现的接口。
public interface JspTag { }
JspTag与Tag接口介绍 与 接口介绍
public interface Tag extends JspTag { public final static int SKIP_BODY = 0; public final static int EVAL_BODY_INCLUDE = 1; public final static int SKIP_PAGE = 5; public final static int EVAL_PAGE = 6; void setPageContext( PageContext pc ); void setParent( Tag t ); Tag getParent( ); int int doStartTag( ) throws JspException; doEndTag( ) throws JspException;
<description>继承 继承TagSupport抽象类创建标签 抽象类创建标签</description> 继承 抽象类创建标签
JEECMS标签使用

以下部分标签仅供JEECMS v1.x系列版本参考使用标签是JEE CMS中的重要概念,上一讲中,我们介绍了模板,并且说模板就像试卷,不同的考生填入不同的内容,就形成了不同的页面。
这一点在模板中是怎么实现的呢?简单起见,我们先考虑一下内容页模板,下面是一个简单的内容页模板:<html><head><title>${新闻标题}</title></head><body><h1>${新闻标题}</h1>${新闻内容}</body></html>这是不是有点像考试卷呢?在${}中就是考生要填入的内容,在JEE CMS中这部分内容会根据您录入的新闻,自动填入。
下面是一个真正的模板:<html><head><title>${arti.titleContent}</title></head><body><h1>${arti.titleContent}</h1>${arti.content}</body></html>是不是很简单呢?是的,使用JEE CMS建站,一切都是那么简单。
现在来看看栏目页模板,栏目页是一个栏目的封面,其中最基本的一个需求就是,能够显示这个栏目的新闻列表;否则浏览者无法看到这个栏目的实际内容。
看一个最简单的栏目页:<html><head><title>${栏目名称}</title></head><body><ul><li><a href="#">超强台风蔷薇逼近台湾</a></li><li><a href="#">神七将进行卫星数据中继试验</a></li><li><a href="#">美国国会解除近海石油开采禁令</a></li></ul></html>下面是实现这个效果的模板:<html><head><title>${}</title></head><body>[@u.ArtiList count='3'/]</body></html>其中[@u.ArtiList count='3'/]是我们看到的第二种标签,这种标签具有强大的能力,可以传递参数,count='3'是指读取本栏目最新的三条新闻。
标签模板怎么设置

标签模板怎么设置在百度文库中,标签模板的设置可以帮助文档作者更好地管理和分类自己的文档,也可以让读者更容易地找到自己感兴趣的文档。
因此,正确地设置标签模板是非常重要的。
接下来,我将介绍如何设置标签模板。
首先,登录百度文库账号并打开需要设置标签模板的文档。
在文档编辑页面的右侧可以找到“标签模板”选项,点击进入标签模板设置页面。
在标签模板设置页面,可以看到已有的标签模板和可以添加新的标签模板。
如果需要添加新的标签模板,只需要在输入框中输入标签名称,然后点击“添加”按钮即可。
在添加标签模板时,建议使用简洁明了的标签名称,这样可以更方便地进行分类和检索。
在设置标签模板时,还可以对已有的标签模板进行编辑和删除。
如果某个标签模板不再适用于当前文档,可以直接点击“删除”按钮进行删除操作。
而对于已有的标签模板,也可以通过点击“编辑”按钮进行修改,比如修改标签名称或者调整标签的分类。
在设置标签模板时,还可以对标签进行分类。
比如可以将标签按照文档的类型、主题、作者等进行分类,这样可以更好地进行管理和检索。
在添加新的标签模板时,可以选择所属的分类,这样可以更清晰地进行标签管理。
设置完标签模板后,记得点击“保存”按钮进行保存操作。
保存后,文档的标签模板就设置完成了。
在文档详情页面,读者就可以看到这些标签,方便他们进行检索和筛选。
总的来说,正确地设置标签模板可以帮助文档作者更好地管理和分类自己的文档,也可以让读者更容易地找到自己感兴趣的文档。
因此,在上传文档时,一定要认真地设置标签模板,这样可以提高文档的可见性和检索性,也可以更好地满足读者的需求。
希望以上内容能够对您有所帮助,感谢阅读!。
JSF中自定义分页呈现器(Render)的实现和应用

( o ue cec eat n , otw s Pt lu n esy C egu60 0 ,C ia C mptr ineD pr t Suh et e em U i ri , h nd 15 0 hn ) S me r o v t A src:aaSre ae F s necl n aci c cs e sfleh b tatJv evr csfS )ia xe et rht t e o lei bap cf n. S r ue nw ueu tc- F J l eu d i n ii no a
1 1 开发 自定 义分 页呈 现器 ( e d rr 类 . R n ee )
所有呈现器都必须继承一个抽象类 : v 、 cs j a f e、 ax a
rn e、 e d rr e d rR n e 。本 文所 要写 的呈 现器 为 s p 、cy e w u zg 、 e e、ai tn edrr r drP g ai R n ee。它 的子 类 可 附着 组 件 , n n o 负
< :a Tbe h dt al>时 , 困 难 实 现 分 页 。幸 运 的是 ,S a 很 JF 技术允 许开发 人员 通 过将 u I组件 功 能与 定义 了针对 特定 u I组件 的呈 现屙 陛的 自定义 rnee 相结 合 , edrr 让 表现层 技术可 以轻易地 抽换 。下 面将实 现一 个 自定义 的呈现 器 (edrr , rnee)它是 JF标 准组 件数 据 表格 <h S : dt al> a T b 的伴侣, a e 可以用于使 用 < :a T b > h dt al 创 a e
0 引 言
Jv evr ae J F aaS re c s(S )是 一种用 于构 建 We F b应 用程 序 的新 标 准 Jv aa框架 。它提 供 了一 种 以组件 为 中心来 开 发 Jv b用 户 界 面 的方 法 , 广 大 基 于 aaWe 为 Jv aa的 We 用用 户 界 面 的开 发人 员 提供 了标 准 的 b应 编程接 口、 丰富 可 扩展 的 u 组件 库 、 I 事件 驱 动模 型 等 套完 整 的 We 用 框架 。通 过 使用 JF 可 以在 页 b应 S, 面 中轻 松 自如地使 用 We b组件 、 捕获 用 户行为所 产 生 的事件 、 执行 验 证 、 建立 页 面 导航 …等 等。 它 的 u 组 I 件也有 多种形式 , 以简单 到 只是 显示 文本 的 otu. 可 upt Lbl或者 复杂 到 可 以表 示 来 自数 据 集 合 ( 数 据库 ae, 如 表) 的表格 化数 据 的 dt al。但 是 当使 用 JF组件 a Tbe a S
jquery分页插件_可随意改变样式

1.JQpage源码/***pluginname:JQpage*version1.0*authoryqm*企鹅:2-3-8-7-5-0-3-1-0-6*time:2015-12-8*Explain:在一次项目开发中,前期项目使用了easyui,但是客户比较BT,说easyui的datagrid太丑!!于是没办法只有自己写一个分页,*但是又不想改变后台java代码,所以就以easyui的datagrid后台返回格式数据,写了一个前端的jquery分页插件。
*本插件主要立足于尽可能的满足所有表格样式需求,所以完全可以自己定制你想要的所有样式,绝对兼容easyui返回的后端json数据,然后又能完美的扩展其它组件,*皆可以自定义做所有你能想到的事情,目前版本提供的是一个较为基础的分页版本,相信有一定js基础的人,都能很方便的扩展。
**该插件放到网络上分享给大家,若是大家有更好的建议,或者对插件做了变更,希望你能把变更并且优秀的代码也分享给我,大家一起学习完善*有需要帮助的同学也可以Q我**/var StringBuffer = function(){this._strings = new Array();};StringBuffer.prototype.append=function(str){this._strings.push(str);returnthis;};StringBuffer.prototype.toString=function(){returnthis._strings.join("");};var JQpage = function(){this.page=1;//起始页this.rows=10;//每页显示的行数this.url=null;//获取远程数据的地址this.params='';//远程访问的参数,可直接使用$('#form').serialize()this.tableTarget=null;//表格,带选择符this.pageTarget=null;//分页控制区域,带选择符this.data=null;//分页数据this.fields=null;//所有字段this.rowColor=['#FFF','#F7F8FA'];//隔行换色的两种颜色this.rowHoverColor='#FACE6D';this.pageComponent={begin:'#jqpage-base-begin',//首页up:'#jqpage-base-up',//上一步next:'#jqpage-base-next',//下一步end:'#jqpage-base-end',//尾页totalRows:'#jqpage-totalRows',//总行数totalPage:'#jqpage-totalPage',//总页数sort:'#jqpage-sort'};}/***初始化组件之前的方法,返回false可以阻止组件和数据初始化*/JQpage.prototype.before = function(){returntrue;};/***构建数据中心*/JQpage.prototype.dataFactory = function(){var _this = this;if(_this.url==null)return;var param = new StringBuffer();param.append(_this.params).append("&page=").append(_this.page).append("&row s=").append(_this.rows);$.ajax({type: "POST",url: _this.url,data: param.toString(),dataType:"JSON",async: false,success: function(data){_this.data = data;//初始化数据_this.list();//构建列表_this.pagination();//构建分页工具条_this.local();//构建本地组件_this.sort();//构建排序组件},beforeSend:function(){return _this.before();},error:function(XMLHttpRequest, textStatus, errorThrown){alert("JQpage组件初始化失败!"+textStatus+":"+errorThrown);}});};/***列表展示*/JQpage.prototype.list = function(){var _this = this;var th = new StringBuffer();th.append('<tr>');for(var key in _this.fields){if(_this.fields[key].attribute && _this.fields[key].attribute.th){ th.append('<th ');for(var op in _this.fields[key].attribute.th){th.append(op).append('="').append(_this.fields[key].attribute.th[op]).appen d('" ');}th.append('>');}else{th.append('<th>');}th.append(_this.fields[key].name).append('</th>');}th.append('</tr>');$(_this.tableTarget).html(th.toString());//th列头输出var tr = new StringBuffer();$.each(_this.data.rows, function(i,item){tr.append('<tr id=tr').append(i).append('>');for(var key in _this.fields){if(_this.fields[key].attribute &&_this.fields[key].attribute.td){tr.append('<td ');for(var op in _this.fields[key].attribute.td){tr.append(op).append('="').append(_this.fields[key].attribute.td[op]).appen d('" ');}tr.append('>');}else{tr.append('<td>');}if(_this.fields[key].formatter){tr.append(_this.fields[key].formatter(item[key],item,i));}else{tr.append(item[key]);}tr.append('</td>')}tr.append('</tr>');});$(_this.tableTarget).append(tr.toString());$(_this.tableTarget).find('tr').each(function(i){this.style.backgroundColor=_this.rowColor[i%2];$(this).bind({mouseover:function(){this.style.backgroundColor=_this.rowHoverColor;},mouseout:function(){this.style.backgroundColor=_this.rowColor[i%2];}});});};/***分页控制*/JQpage.prototype.pagination = function(){var _this = this;var pageAll = Math.ceil(_this.data.total/_this.rows);var pageTarget = $(_this.pageTarget);var aup = pageTarget.find(_this.pageComponent.up);//上一页var anext = pageTarget.find(_this.pageComponent.next);//下一页var abegin = pageTarget.find(_this.pageComponent.begin);//首页var aend = pageTarget.find(_this.pageComponent.end);//尾页aup.css({cursor:'auto'}).unbind();anext.css({cursor:'auto'}).unbind();abegin.css({cursor:'auto'}).unbind();aend.css({cursor:'auto'}).unbind();if(_this.page == 1 && pageAll > 1){//当起始页小于0时移除超链接anext.css({cursor:'pointer'}).bind('click',function(){_this.next();});aend.css({cursor:'pointer'}).bind('click',function(){_this.end();});} elseif(_this.page == pageAll){//当当前页大于等于总页数时移除超链接 aup.css({cursor:'pointer'}).bind('click',function(){_this.up();});abegin.css({cursor:'pointer'}).bind('click',function(){_this.begin();});}elseif(_this.page>1 && _this.page <pageAll) {anext.css({cursor:'pointer'}).bind('click',function(){_this.next();});aend.css({cursor:'pointer'}).bind('click',function(){_this.end();});aup.css({cursor:'pointer'}).bind('click',function(){_this.up();});abegin.css({cursor:'pointer'}).bind('click',function(){_this.begin();});}};/***构建本地组件,可以自己从写实现,以下是默认实现*/JQpage.prototype.local = function(){var _this = this;var target = $(_this.pageTarget);var pageAll = Math.ceil(_this.data.total/_this.rows);target.find("select").empty();for(var num = 1; num <= pageAll; num++) {//下拉列表框选择页数$("<optionvalue="+num+">"+num+"</option>").appendTo(target.find("select"));}target.find("select").val(_this.page)//设置列表框选中值,进入第几页.change(function(){//列表框改变触发_this.page=target.find("select").val();//对开始值赋值_this.init();});target.find("input").val(_this.rows)//设置文本框的值,没设置的情况下默认是10.blur(function(){_this.rows = target.find("input").val();//对每页显示数量赋值_this.init();});target.find(_this.pageComponent.totalRows).text(_this.data.total);target.find(_this.pageComponent.totalPage).text(pageAll);};/***排序组件组件扫描对象ID标签下的子标签a,每个a标签必带sortName="createDate"sortOrder="asc"的值还有desc*/JQpage.prototype.sort = function(){var _this = this;if($(this.pageComponent.sort))$(this.pageComponent.sort).children("a").unbind().each(function(){ var that = $(this);that.bind({click:function(){that.siblings().removeClass().addClass('jqpage-sort-asc');that.addClass('jqpage-sort-hover');that.removeClass('jqpage-sort-asc');var order = that.attr('sortOrder');if(order=='desc'){that.removeClass('jqpage-sort-desc');that.addClass('jqpage-sort-asc');that.attr('sortOrder','asc');}else{that.removeClass('jqpage-sort-desc');that.addClass('jqpage-sort-desc');that.attr('sortOrder','desc');}_this.params='&sortOrder='+order+'&sortName='+that.attr('sortName');_this.init();}});});};/***下一页*/JQpage.prototype.next = function(){this.page+=1;this.dataFactory();};/***上一页*/JQpage.prototype.up=function(){this.page-=1;this.dataFactory();};/***开始*/JQpage.prototype.begin=function(){this.page=1;this.dataFactory();};/***尾页*/JQpage.prototype.end=function(){this.page=Math.ceil(this.data.total/this.rows);this.dataFactory();};/***初始化*/JQpage.prototype.init=function(){this.dataFactory();}2.CSS#listTable{background-color:#E0DCDD;}#listTable th{background-color:#74B0EE;font-weight:normal;height:28px;color:#fff;text-align:center;}#listTable td{text-align:center;}.jqpage-nav{width:100%;height:28px;line-height:28px;}.jqpage-sort{width:30%;float:left;}.jqpage-sort a{height:10px;line-height:10px;display:block;float:left;padding:5px;padding-right:15px;border:1pxsolid#ccc;cursor:pointer;}.jqpage-sort-hover{color:#FF8C01;}.jqpage-sort a:HOVER{color:#FF8C01;}.jqpage-sort-asc{background:url("../images/n_asc.png")no-repeat97%3px; }.jqpage-sort-desc{background:url("../images/n_desc.png")no-repeat97%3px; }.jqpage-menu{width:60%;float:right;}.jqpage-menu span{display:block;float:right;margin-right:5px;position:relative;}.jqpage-menu img{margin-top:3px;}.jqpage-menu input{width:35px;height:12px;border:1pxsolid#ccc;margin-top:5px;}#jqpage-base-begin,#jqpage-base-up,#jqpage-base-next,#jqpage-base-end{ display:block;position:absolute;height:18px;top:5px;}#jqpage-base-begin{width:23px;left:3px;}#jqpage-base-up{width:18px;left:33px;}#jqpage-base-next{width:18px;left:57px;}#jqpage-base-end{width:23px;left:83px;}3.案列以下是自己页面的源码,原封不动的贴上来供大家参考,源码使用了分页所有的功能,并且还扩展了些许,另外调用了一些其它函数,就不用给出了,末尾给上了效果图<%@page language="java"contentType="text/html; charset=UTF-8"pageEncoding="UTF-8"%><!DOCTYPE html PUBLIC"-//W3C//DTD HTML 4.01Transitional//EN""/TR/html4/loose.dtd"><html><head><meta http-equiv="Content-Type"content="text/html; charset=UTF-8"><title>JQpage分页</title></head><body><div class="jqpage-nav"id="jqpage-nav"><div class="jqpage-sort"id="jqpage-sort"><a class="jqpage-sort-ascjqpage-sort-hover"sortName="createDate"sortOrder="asc">创建时间</a><a class="jqpage-sort-asc"style="border-left: 0"sortName="updateDate"sortOrder="asc">更新时间</a><a class="jqpage-sort-asc"style="border-left: 0"sortName="birthData"sortOrder="asc">出生时间</a></div><div class="jqpage-menu"><span style="border: 1px solid #93BFE6;background-color: #D6EBFE;height: 15px;padding: 1px 4px;line-height: 15px;margin-top: 3px;" id="pageTagetMenu">跳转</span><span><input type="text"id="pageTarget"></span><span><img src="../r/hssoft/www/anjian/default/images/n_page.png"><a id="jqpage-base-begin"></a><a id="jqpage-base-up"></a><a id="jqpage-base-next"></a><a id="jqpage-base-end"></a></span><span>每页<input type="text"id="jqpage-pageRows">条记录,共<a id="jqpage-total"></a>条记录,页数<a id="jqpage-now"></a>/<a id="jqpage-totalPage"></a>页</span></div></div><table align="center"id="listTable"cellspacing="1"width="100%"></table><script type="text/javascript">var ryList={sex:null,zjlx:null,getText:function(value,data){var val="";$.each(data,function(){if(value==this.id){val = this.text;}});return val;},formatter:function(value,row,index){return forGrList.createHtml(row.civicId,index)},update:function(id){var opt={title:'人员修改',width:670,height:310,url:main.base+'/dsr/get.jspx?page=edit&id='+id};main.dialog(opt);},detail:function(id){var opt={title:'详细信息',width:670,height:280,url:main.base+'/dsr/get.jspx?page=detail&id='+id};main.dialog(opt);},del:function(id,index){$.messager.confirm('确认','您确认想要删除记录吗?',function(r){ if (r){$.post(main.base+'/dsr/deleteStatus.jspx?id='+id,function(msg){$('#tr'+index).remove();});}});},search:function(){var parms = $('#searchForm').serialize();_jqpage.params=encodeURI(parms);_jqpage.init();},select:function(){var table = $(_jqpage.tableTarget);var cbox = table.find("input:checked");var box = table.find(":checkbox");if(cbox.length!=box.length){table.find(":checkbox").prop("checked", true);}else{table.find(":checkbox").prop("checked", false);}}};var _jqpage;$(function() {_jqpage = new JQpage();_jqpage.fields={civicId:{},//占位no:{name:'序号',formatter:function(value,rows,index){return index+1;},attribute:{th:{width:'5%'},td:{style:'background-color:#EBF1FF;color:#5C5C5C' }}},userName:{name:'用户名',attribute:{th:{width:'10%'}}},sex:{name:'性别',attribute:{th:{width:'10%'}},formatter:function(value,rows,index){return ryList.getText(value,ryList.sex);;}},contactNumber:{name:'联系电话',attribute:{th:{width:'10%'}}},certificateType:{name:'证件类型',attribute:{th:{width:'10%'}},formatter:function(value,rows,index){return ryList.getText(value,ryList.zjlx);;}},certificateNo:{name:'证件号',attribute:{th:{width:'10%'}}},updateDate:{name:'更新日期',attribute:{th:{width:'15%'}}},birthData:{name:'出生日期',attribute:{th:{width:'15%'}}},xxx:{name:'操作',width:'10%',attribute:{th:{width:'10%'}},formatter:function(value,rows,index){return ryList.formatter(value,rows,index);}}};_jqpage.fields.civicId={name:'全选',formatter:function(value,rows,index){return'<input type="checkbox" value='+value+' />' },attribute:{th:{width:'4%',style:'color:blue;cursor:pointer;',onclick:'ryList.select()'},td:{align:'center',style:'background-color:#EBF1FF;'}}};_jqpage.tableTarget="#listTable";_jqpage.pageTarget="#jqpage-nav";_jqpage.url=main.base+'/dsr/page.jspx';_jqpage.local=function(){var _this = this;var pageAll = Math.ceil(_this.data.total/_this.rows);$('#jqpage-pageRows').unbind();$("#jqpage-pageRows").val(_this.rows).blur(function(){ _this.rows = $(this).val();//对每页显示数量赋值if(_this.rows<1 || _this.rows>_this.data.total)return;_this.init();});$('#jqpage-total').text(_this.data.total);$('#jqpage-now').text(_this.page);$('#jqpage-totalPage').text(pageAll);$('#pageTagetMenu').unbind();$('#pageTagetMenu').css({cursor:'pointer'}).bind('click',function(){ _this.page= $('#pageTarget').val();//对开始值赋值if(_this.page<1 || _this.page>pageAll)return;_this.init();})};//加载分页组件前,执行的初始化操作_jqpage.before=function(){try{//初始化性别ryList.sex = $.parseJSON($.ajax({url:main.basePath+'/json/sex.json',async: false }).responseText);//初始化证件类型ryList.zjlx = $.parseJSON($.ajax({url:main.basePath+'/json/zjlx.json',async: false }).responseText);}catch(e){alert( + ": " + e.message);returnfalse;}returntrue;};_jqpage.init();});</script></body></html>上面搜索条件部分CSS自己写的就不贴上来了4.使用说明1、_page.fields对象包含后台json传递进来的属性对应的名称,每一个属性被附加定义了一些组件:----name:属性对应显示在列头“th”中的名称---- attribute:属性对应在html的“th”列头与“td”单元格所有本身支持的属性和样式---- formatter:格式化输出到单元格显示的内容包含三个参数value,rows,index2、_page.tableTarget对象指定要显示列表的table容器3、_page.pageTarget对象指定分页工具条的容器4、_page.url对象指定访问后台的地址5、_page.local = function(){} 该对象方法用于本地分页其它组件的自定义编写6、_page.init()初始化,并加载分页组件和数据5.符源码默认使用的表格样式,贴进去就可以用看效果改下page.tableTarget,_page.pageTarget,_page.url,执行_page.init()就可看效果分页工具条的table<table align="center"id="pageTable"border="0"bgcolor="#cccccc"width="100%"><tr><td align="right"><a>每页<input type="text"value=""size="1">条 </a><a>共<span id="jqpage-totalRows"></span>条记录 </a> <a id="jqpage-base-begin">首页</a> <a id="jqpage-base-up">上一页</a> <a id="jqpage-base-next"style="cursor: pointer;">下一页</a> <a id="jqpage-base-end"style="cursor: pointer;">尾页</a> <a>第<select></select>页/共</a><a id="jqpage-totalPage"></a>页</td></tr></table>数据列表的table<table align="center" id="listTable" cellspacing="1"width="100%"></table>。
文件夹侧面标签模板(可编辑修改word版)

文件夹侧面标签模板(可编辑修改word版)
为了方便管理文件夹及快速查找所需文件,我们可以使用标签
模板来标记文件夹的侧面。
这样可以使每个文件夹都清晰可见,并
且可以随时更改标签内容。
模板设计
1. 下载模板
首先,我们需要下载一个可以编辑和修改的Word版标签模板。
可以从以下网站下载标签模板:
2. 打开模板
下载完成后,双击打开Word软件并导入标签模板文件。
3. 编辑标签内容
在打开的标签模板中,可以看到已经存在的示例标签。
你可以
根据自己的需求,修改标签内容,如文件夹名称、日期、关键词等。
可以使用Word提供的编辑工具(如字体、颜色、大小等)进行个
性化的设计。
4. 打印标签
编辑完成后,可以选择将标签打印出来。
使用适合的标签纸张,调整打印设置,确保每个标签都可以准确地贴在文件夹的侧面。
5. 修改标签
如果你需要更改标签内容,只需重新打开标签模板,按照步骤
3进行编辑,并重新打印即可。
注意事项
- 在下载标签模板时,确保从可信赖的网站下载,以防下载到
恶意软件。
- 在编辑标签内容时,注意文件夹名称的准确性,确保标签的一致性和可读性。
- 打印标签时,使用合适的纸张和打印设置,避免模糊或偏移的标签。
通过使用文件夹侧面标签模板,你可以有效地管理文件夹,并轻松找到所需文件。
这样可以提高工作效率,同时使文件整理更加有序和方便。
制作自定义页码和页面边距

制作自定义页码和页面边距在Microsoft Word中,您可以轻松地进行自定义页码和页面边距的设置。
以下是如何进行操作的简要指南。
第一步:设置页面边距1. 打开Microsoft Word,并选择您要编辑的文档。
2. 在顶部菜单栏中,点击"布局"选项卡。
3. 在布局选项卡中,您将看到一个"页面边距"的按钮。
点击这个按钮。
4. 在弹出的页面边距菜单中,您可以选择标准的边距(如上、下、左、右边距)或者自定义边距。
如果要自定义边距,请选择"自定义边距"选项。
5. 在自定义边距对话框中,您可以设置每个边距的具体数值。
例如,您可以将上边距设置为1英寸,下边距设置为1.5英寸,左边距设置为1.25英寸,右边距设置为1英寸。
根据您的需要进行相应的设置。
6. 当您完成设置后,点击"确定"按钮应用您的页面边距更改。
第二步:制作自定义页码1. 在您的文档中,定位到您希望插入页码的位置。
通常,页码会放置在文档的页脚部分。
2. 在顶部菜单栏中,点击"插入"选项卡。
3. 在插入选项卡中,您将看到一个"页码"的按钮。
点击这个按钮。
4. 在页码菜单中,您可以选择不同的页码格式。
如果要自定义页码,请选择"格式页码"选项。
5. 在格式页码对话框中,您可以设置起始页码和页码的格式。
例如,您可以从第2页开始编号,或者使用罗马数字代替阿拉伯数字。
根据您的需要进行相应的设置。
6. 当您完成设置后,点击"确定"按钮将您的自定义页码插入到文档中。
通过上述步骤,您可以轻松地设置自定义的页码和页面边距。
记得在完成设置后保存您的文档,以便将所有更改保存下来。
希望这篇文章对您有所帮助!。
layuitable表格分页从0开始,自定义请求参数

layuitable表格分页从0开始,⾃定义请求参数
最近⽤layui的时候发现⼀个很严重的问题。
写demo的时候发现分页是从第1页开始,不是从第0页开始,但是后台固定了摸得改。
发现官⽅暂时没有发现什么有效的操作⼿段,于是乎,⾃⼰动⼿,丰⾐⾜⾷。
//修改版本2.5.4
//现在是第⼆版,第⼀版有BUG T_T
https:///s/1aL-E_R9_vby_EtqBSqa9-Q
tjf1
把这两个⽂件复制到layui 的 modules 下覆盖它,然后在table 渲染的时候加上这个属性。
如果是0则从第0页开始,如果是1,从第⼀页开始(原先的设想是设置成N从第N开始,但是失败了~~~~~)
修改完成后,分页从第0也开始了。
哇哈哈哈哈
修改的逻辑就是发送分页请求的时候如果startByZero是0,请求的参数减⼀,分页的时候如果分页是0,就当1处理,其他照旧。
改这种转化后的的代码也是⽐较蠢的,如果有童鞋有更好的⽅式,请联系⼀下我啦,谢谢。
————————————————————————————————————————————————
//2019-8-21
//版本2.5.4
修改startByZero 属性为true和false,修复序号显⽰BUG
添加pageObject 属性,添加后可以在请求的分页JSON请求上再添加⼀个⽗节点⽐如这样:这⾥pageObject 填写是rsf。
苹果cms标签大全(仿站修改模板必备)

苹果cms标签⼤全(仿站修改模板必备)苹果cms标签⼤全(仿站修改模板必备)***************************模板介绍开始****************************注意:模版头部要插⼊以下必要的引⽤播放页⾯需要另外引⽤head.html 头部foot.html 尾部index.html ⾸页artindex.html ⽂章⾸页art.html ⽂章内容页artlist.html ⽂章分类分页arttopic.html ⽂章专题⾸页artsearch.html ⽂章搜索页artmap.html ⽂章地图页vod.html 视频内容页vodlist.html 视频分类分页vodtopic.html 视频专题⾸页vodsearch.html 视频搜索页vodplay.html 视频播放页vodplayopen.html 视频弹窗播放页vodmap.html 视频地图页gbook.html 留⾔本userlogged.html ⽤户登录-已登录userlogin.html ⽤户登录-未登录label_ 开头的都是⾃定义页⾯****************************模板介绍结束********************************************************全局标签开始****************************{maccms:name} ⽹站名称{maccms:keywords} ⽹站关键字{maccms:description} ⽹站描述信息{maccms:icp} ⽹站备案号{maccms:qq} 管理员QQ{maccms:email} 管理员Email{maccms:url} ⽹站域名{maccms:path} ⽹站⽬录{maccms:templatepath} ⽹站模板⽬录(以下3个链接主要为了同化asp和php模版的后缀){maccms:gbooklink} 留⾔本链接{maccms:searchlink} 搜索页链接{maccms:userlink} ⽤户登录页⾯链接{maccms:indexlink} 视频⾸页链接{maccms:artindexlink} ⽂章⾸页链接{maccms:vodmaplink} 视频地图链接{maccms:artmaplink} ⽂章地图链接{maccms:vodtopiclink} 视频专题链接{maccms:arttopiclink} ⽂章专题链接{maccms:vodallcount} 视频数据总量{maccms:voddaycount} 视频当天更新数据量{maccms:artallcount} ⽂章数据总量{maccms:artdaycount} ⽂章当天更新数据量{maccms:artalllist} 全部⽂章列表链接(此列表和分类页⼀样,带分页){maccms:vodalllist} 全部视频列表链接(此列表和分类页⼀样,带分页){maccms:usercount} 会员总数{maccms:userdaycount} 会员当天注册数量{maccms:usergroupid} 当前登录会员组ID,如果没有登录则是空{maccms:cache} 开启缓存时,缓存的时间标识{maccms:visits} 统计代码{maccms:curvodtypeid} 视频当前分类ID{maccms:curvodtypepid} 视频当前分类的⽗分类ID{maccms:curvodtopicid} 视频当前专题ID{maccms:curarttypeid} ⽂章当前分类ID{maccms:curarttypepid} ⽂章当前分类的⽗分类ID{maccms:curarttopicid} ⽂章当前专题ID{maccms:head} 头部模版{maccms:foot} 底部模版{maccms:runtime} 页⾯运⾏时间{maccms:userid} 会员ID{maccms:username} 会员名调⽤历史记录(10是显⽰数量,历史记录最多记录20条数据。
资料盒侧面标签模板(可编辑修改word版)

资料盒侧面标签模板(可编辑修改word版)
一、概述
该文档提供了一份资料盒侧面标签模板,允许用户进行编辑和修改。
该模板适用于Word文档格式,方便用户根据需要进行个性化定制。
二、模板特点
1. 可编辑修改:模板使用Word文档格式,用户可以使用Microsoft Word或类似软件来打开和修改标签内容,以适应不同的需求。
2. 简单易用:模板采用简洁的设计和排版,使用户能够轻松地编辑和打印标签,节省时间和精力。
三、使用方法
3. 编辑标签:根据实际需要,修改标签上的文字、图像或其他内容。
4. 打印标签:使用标签纸或普通A4纸,在打印机上打印已编辑的标签。
5. 剪切标签:将打印好的标签按照预设的尺寸剪切,得到适合资料盒侧面的标签。
四、注意事项
1. 文件格式:请确保使用的软件支持Microsoft Word文档格式(.docx),以避免兼容性问题。
2. 尺寸要求:在打印标签时,请根据实际资料盒的尺寸选择合适的纸张尺寸和标签尺寸,以确保标签的完整性和美观度。
3. 个性化定制:用户可以根据实际需求,在模板中更改字体、颜色、背景等元素,以满足个性化需求。
希望本模板能够帮助您简化资料盒的管理,提高工作效率。
祝您使用愉快!
(请注意,本文档中的内容可能根据作者的需求进行了修改,确保准确性前,请自行确认。
)。
如何使用自动分页功能在Word文档中自动调整页面布局

如何使用自动分页功能在Word文档中自动调整页面布局自动分页功能是Word文档中的一个非常实用的工具,它可以帮助用户在排版文档时自动调整页面布局,使得文档更加整洁美观。
本文将介绍如何使用自动分页功能来实现这一目标。
一、启用自动分页功能在Word中,自动分页功能默认是启用状态的。
如果您的软件设置有所改变,需要手动启用自动分页功能,可以按照以下步骤进行操作:1. 打开Word文档,点击菜单栏上的“文件”选项;2. 在文件菜单中选择“选项”,进入Word选项窗口;3. 在Word选项窗口的左侧导航栏中,选择“高级”选项;4. 在高级选项中,在“显示”一节中,找到“显示文档内容”一栏;5. 确保其中的“显示分页符”选项是勾选状态;6. 点击“确定”按钮保存设置,关闭选项窗口。
二、设置分页符在Word文档中,分页符是用于手动控制页面分隔的符号。
通过合理插入分页符,可以实现自动分页功能的调整。
1. 在需要插入分页符的位置,将光标放置到相应的段落或文本行的末尾;2. 点击键盘上的“Ctrl”和“Enter”键(Windows系统),或者“Command”和“Enter”键(Mac系统),就可以插入一个分页符;3. 分页符的插入将导致当前段落或文本行独占一页。
三、调整页面布局使用自动分页功能插入分页符后,可以轻松实现页面布局的调整。
1. 在Word文档中,找到需要调整页面布局的段落或文本行;2. 在需要进行分页调整的位置,使用步骤二中的方法插入分页符;3. 自动分页功能会根据分页符的位置进行页面布局调整,使得分隔的段落或文本行独占一页;4. 当文档内容发生变动时,自动分页功能会自动调整页面布局,确保文档整洁美观。
四、注意事项在使用自动分页功能时,有几点需要特别注意:1. 最好在段落或文本行的末尾插入分页符,这样可以保证整个段落或文本行都独占一页;2. 多次插入分页符并不会造成错误或影响排版效果;3. 修改页面布局后,可能会导致一页内容变少或变多。
自定义vue-awesome-swiper的pagination分页器样式

⾃定义vue-awesome-swiper的pagination分页器样式环境:vue^2.4.2vue-awesome-swiper^2.6.7swiper^3.4.2成品图:功能:拖动或者切换下⼀个pagination点点宽度跟着过渡变换代码:<template><div class="m-topic-swiper"><swiper :options="swiperOption" :class="special"><swiper-slide v-for="(item, index) in content" :key="index"><router-link :to="url"><img class="m-topic-img" :src="item.imageUrl" alt=""></router-link></swiper-slide><div class="swiper-pagination" id="pagination" slot="pagination"></div></swiper></div></template>js:import { swiper, swiperSlide } from 'vue-awesome-swiper'import 'swiper/dist/css/swiper.css'export default {name: 'm-topic-swiper',props: ['content', 'special'],components: {swiper,swiperSlide},data() {return {swiperOption: { // 可写swiper⼀些原⽣配置pagination: '.swiper-pagination',loop: true,watchSlidesProgress : true,autoplay: 3000,speed: 600,onProgress: (swiper, progress) => { //进度函数返回拖动进度let n = this.content.lengthlet test = document.getElementById('pagination')if (test) {progress = parseInt((((progress - 1 / (n + 1)) / n * (n + 1)) * 100).toFixed(0)) //swiper3.XX版本不是从0开始,修正⼀下progress if(progress < 0){progress = 100 + progress}let nowNumber = Math.floor(progress * n / 100) === n ? n - 1 : Math.floor(progress * n / 100) //找出当前点点 let percent = (progress / 100 - (nowNumber / n)) * n //拖动占总份额多少let nextNumber = nowNumber + 1 //下⼀个要变化的点点if(nowNumber === n - 1){nextNumber = 0}let now = test.children[nowNumber]let next = test.children[nextNumber]let maxWidth = 0.3 // 点点最⼤宽度let minWidth = 0.08 //点点最⼩宽度let dif = maxWidth - minWidthnext.style.width = dif * percent + minWidth + 'rem'now.style.width = dif * (1 - percent) + minWidth + 'rem'for(let i = 0; i < test.children.length; i++) {if(i !== nowNumber && i !== nextNumber){test.children[i].style.width = minWidth + "rem"//防⽌拖动的太快数据丢失遍历动态给其他点点最⼩宽}}}}},}},}css:<style lang="postcss">.m-topic-swiper {.swiper-container {width: 100%;.m-topic-img {display: block;width: 100%;}.swiper-pagination {height: .23rem;font-family: PingFangSC-Regular;font-size: .156rem;color: #fff;letter-spacing: 0;line-height: .12rem;bottom: 0;}.swiper-pagination-bullet {background: #fff;opacity: 0.8;height: 0.08rem;border-radius: 0.06rem;width: 0.08rem;transition: all 0.2s; //可设置缓慢变化}.swiper-pagination-bullet-active {width: 30px;}}}</style>收⼯~~~。
自定义vueawesomeswiper分页器样式

⾃定义vueawesomeswiper分页器样式swiperOption: {//swiper的配置项 notNextTick: true,//想获得swiper实例对象,这个必须为true direction: 'vertical', // grabCursor: true,//⿏标覆盖Swiper时指针会变成⼿掌形状,拖动时指针会变成抓⼿形状 setWrapperSize: true,//Swiper使⽤flexbox布局(display: flex),开启这个设定会在Wrapper上添加等于slides相加的宽或⾼,在对flexbox 布局的⽀持不是很好的浏览器中可能需要⽤到。
autoHeight: true,//⾃动⾼度。
设置为true时,wrapper和container会随着当前slide的⾼度⽽发⽣变化 slidesPerView:1,//设置slider容器能够同时显⽰的slides数量(carousel模式)。
可以设置为数字(可为⼩数,⼩数不可loop),或者'auto'则⾃动根据slides的宽度来设定数量。
loop模式下如果设置为'auto'还需要设置另外⼀个参数loopedSlides。
mousewheel: true,//开启⿏标滚轮控制Swiper切换。
可设置⿏标选项,默认值false mousewheelControl: true,//同上 height:window.innerHeight, // ⾼度设置,占满设备⾼度 resistanceRatio: 0,//抵抗率。
边缘抵抗⼒的⼤⼩⽐例。
值越⼩抵抗越⼤越难将slide拖离边缘,0时完全⽆法拖离。
本业务需要 observeParents: true,//将observe应⽤于Swiper的⽗元素。
当Swiper的⽗元素变化时,例如window.resize,Swiper更新 pagination: { el: '.swiper-paginationfull', type: 'bullets',//这个不⽤变成custom值,就可以之定义分页器样式(可爽) bulletElement : 'span',//设置分页器⼩圆点标签,默认为span标签 clickable:true, paginationClickable: true, notNextTick:true, bulletClass: 'bullet-class',//设置⼩圆点的类名,包括下⾯的当前页⾯导航器的类名,⽤来写css样式,注意,这段css⼀定要引在,swiper实例创建之前,通常⽤import引⼊,图⽚可以考虑⽤base64⽅式写⼊ bulletActiveClass: 'bullet-active-class',},。
Word中如何应用不同的分页符样式

Word中如何应用不同的分页符样式Word是微软公司开发的一款常用的文字处理软件,它可以帮助用户进行文档的编辑、排版和格式设置。
其中,分页符是一种特殊的符号,用于控制不同页面的显示效果。
在本文中,将介绍如何在Word中应用不同的分页符样式。
一、什么是分页符分页符是Word中的一种特殊符号,用于在文档中指示内容的分页位置。
通过插入分页符,可以使文档中的内容在不同页面显示,方便排版和阅读。
二、插入分页符在Word中,插入分页符非常简单。
只需按照以下步骤操作:1. 定位光标:在你想插入分页符的位置,点击光标定位。
2. 插入符号:点击Word菜单栏的“插入”选项卡,在“页面”部分找到“分页符”按钮,点击。
3. 分页符类型:弹出的菜单中有两种分页符可供选择。
默认的是普通分页符,另外一种是连续分页符。
- 普通分页符:它会在当前位置插入一个分页符,将下一段落推到下一页显示。
- 连续分页符:它也会在当前位置插入一个分页符,但不会新起一页,而是继续在当前页显示下一段落。
4. 应用分页符:选择分页符类型后,点击即可应用。
三、应用不同的分页符样式Word中提供了多种分页符样式,根据不同的需求可以选择合适的样式来应用。
1. 普通分页符普通分页符是Word中最常见的分页符样式,它可以将下一段落推到下一页显示。
适用于在一页显示不下的内容需要换页显示的情况。
2. 连续分页符连续分页符也是一种常用的分页符样式,它可以在当前页的下方插入一个分页符,使得下一段落在当前页继续显示。
适用于需要在同一页上显示相邻段落的情况。
3. 分节符除了普通分页符和连续分页符之外,Word还提供了分节符这种特殊的分页符样式。
分节符可以用于在文档中设置不同的页面布局,如页眉、页脚、页码等。
通过插入分节符,可以将文档划分为多个节,方便对不同节的页面设置进行独立控制。
4. 分栏符除了分节符之外,Word还提供了分栏符这种分页符样式。
分栏符允许将文档分隔成多栏,并可以对每栏的宽度、间隔等进行自定义设置。
ElementUIpagination分页自定义配置

ElementUIpagination分页⾃定义配置如何使⽤ ElementUI ⾃定义分页呢?尽管ElementUI⽐较全⾯的提供了分页,但实际开发中的需求是多种多样的。
⽐如我需要把下图中的下拉选择每页的数据条数,换成可以⼿动输⼊的形式,并且把他的位置放到前往xx页的左边位置。
实现代码如下:<!-- 分页 --><el-paginationclass="pagination"@size-change="sizeChangeHandle"@current-change="currentChangeHandle"background:current-page="currentPage":page-sizes="[]":page-size="pageSize"layout="total, prev, pager, next, slot, jumper":total="ipData.length"><span class="pageSizeInput"><el-input class="pageSizeBorder" v-model.number="pageSize" @input="handlePageSize"></el-input> 条/页</span></el-pagination><script>// 改变每⼀页的数据条数sizeChangeHandle (val) {this.pageSize = val},// 改变当前所在页currentChangeHandle (val) {this.currentPage = val},// 监听pageSize⽂本框的变化,当pageSize为空时,设置pageSize的值为0,以防报错handlePageSize () {if (!this.pageSize) {this.pageSize = 0}}</script>分析上述代码:在layout属性⽤于控制分页器的排列位置,可以在合适的位置添加⼀个slot,然后在el-pagination标签中包裹标签,实现⾃定义分页内容。
5UCMS标签及应用

5UCMS官方资料标签优先顺序:自定义标签 -> 系统标签 ->列表标签 -> 分页标签 -> 判断标签自定义标签:基本语法:{My:标签代码}自定义标签可以在后台添加、修改,自定义标签可以调用比他优化级别低的标签系统标签(也称变量标签):基本语法:{Sys:变量名称}系统标签可以调用 Inc/Config.Asp 里的参数,通常需要使用的几个标签为:(1)网站名称 {Sys:Webname}(2)系统安装目录 {Sys:Installdir}(3)网站首页名称 {Sys:Indexname}(4)网站首页访问地址(链接) {Sys:Indexview}(5)站内链接前缀 {Sys:Httpurl}列表标签:基本语法:<!--标签名称:{标签属性}--> ### innerText(底层标签)### <!--标签名称--> 1、标签名称:标签名称可以自由设置,尽量使用英文字符,方便阅读。
2、标签属性:公用标签属性:$Cache标签缓存时间,只允许是数字,不设置则不使用缓存功能,单位秒。
$Row返回记录的行数,只允许是数字,默认为10。
$Col返回记录的列数,只允许是数字,默认为1,当该值大于1时将使用TABLE 形式输出。
$Width当$Col的值大于1时有效,设置表格的宽度,默认为100%。
$Class 当 $Col 的值大于 1时有效,设置表格的样式。
$Field 如果指定该值则可优化SQL查询语句,提供效率。
文章列表查询标签属性:用于调用文章列表信息。
使用语法:{$Cache=值$Row=值$Col=值$ Width=值$Aid=值$Cid=值$Type=值$Mode=值$Keys=值$Order=值}$Aid文章ID编号,设置该值后,表示该文章ID编号的文章不显示出来。
$Cid调用指定栏目ID编号下的文章,默认将调用所有栏目的文章,需要调用多个栏目的文章可以使用英文状态下的逗名(,)分隔栏目ID编号。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
标签处理类:/*** ClassName: PagerTag.java* created on Oct 21, 2008* Copyrights 2008 qjyong All rights reserved.* EMail: qjyong@*/package com.qiujy.tags;import java.io.IOException;import java.util.Enumeration;import javax.servlet.http.HttpServletRequest; import javax.servlet.jsp.JspException;import javax.servlet.jsp.tagext.TagSupport;/*** 自定义分页标签* 使用方式<my:pager pageSize="10"* pageNo="1"* recordCount="100"* url="index.jsp" />** @author qiujy**/public class PagerTag extends TagSupport { private int pageSize = 10; // 每页要显示的记录数private int pageNo = 1; // 页号private int recordCount; // 总记录数private String url; // 目的地URLpublic void setPageSize(int pageSize) {this.pageSize = pageSize;}public void setPageNo(int pageNo) {this.pageNo = pageNo;}public void setRecordCount(int recordCount) {this.recordCount = recordCount;}public void setUrl(String url) {this.url = url;}// 主要的逻辑@Overridepublic int doStartTag() throws JspException {if(recordCount == 0){return super.doStartTag();}// 总页数int pageCount = (recordCount + pageSize - 1) / pageSize;// 页号越界处理if (pageNo > pageCount) {pageNo = pageCount;}if (pageNo < 1) {pageNo = 1;}StringBuilder sb = new StringBuilder();sb.append("<form name='pageController' id='pageController' action='' method='post'>\r\n") .append("<input type='hidden' id='pageNo' name='pageNo' value='" + pageNo + "' />\r\n");//------------------------------------ 获取所有請求中的参数HttpServletRequest request = (HttpServletRequest) pageContext.getRequest();Enumeration<String> enumeration = request.getParameterNames();String name = null;String value = null;//把请求中的所有参数当作隐藏表单域在页面中写出)while (enumeration.hasMoreElements()) {name = enumeration.nextElement();value = request.getParameter(name);// 去除页号if (name.equals("pageNo")) {if (null != value && !"".equals(value)) {pageNo = Integer.parseInt(value);}}sb.append("<input type='hidden' name='").append(name).append("' value='").append(value).append("'/>\r\n");}//----------------------------------------------------sb.append(" 总共有" + pageCount + "页,").append("当前是第" + pageNo + "页\r\n");if (pageNo == 1) {sb.append("首页");sb.append(" ");sb.append("上一页\r\n");} else {sb.append("<a href='#' onclick='turnOverPage(1)'>首页</a>\r\n"); sb.append(" ");sb.append("<a href='#' onclick='turnOverPage(").append((pageNo - 1)).append(")'>上一页</a>\r\n");}sb.append(" ");if (pageNo == pageCount) {sb.append("下一页");sb.append(" ");sb.append("尾页\r\n");} else {sb.append("<a href='#' onclick='turnOverPage(").append((pageNo + 1)).append(")'>下一页</a>\r\n");sb.append(" ");sb.append("<a href='#' onclick='turnOverPage(").append(pageCount) .append(")'>尾页</a>\r\n");}sb.append(" 跳到<select onChange='turnOverPage(this.value)'>\r\n"); for (int i = 1; i <= pageCount; i++) {if (i == pageNo) {sb.append(" <option value='").append("' selected='selected'>第").append(i).append("页</option>\r\n");} else {sb.append(" <option value='").append(i).append("'>第").append(i).append("页</option>\r\n");}}sb.append("</select>\r\n");sb.append(" \r\n");sb.append("</form>\r\n");// 生成提交表单的JSsb.append("<script language='javascript'>\r\n");sb.append(" //翻页函数\t\n");sb.append(" function turnOverPage(no){\r\n");sb.append(" var form = document.pageController;\r\n");sb.append(" //页号越界处理\r\n");sb.append(" if(no").append(">").append(pageCount).append(") {\r\n");sb.append(" no=").append(pageCount).append(";\r\n");sb.append(" }\r\n");sb.append(" if(no").append("< 1){\r\n");sb.append(" no=1;\r\n");sb.append(" }\r\n");sb.append(" form.").append("pageNo").append(".value=no;\r\n");sb.append(" form.action='").append(url).append("';\r\n");sb.append(" form.submit();\r\n");sb.append(" }\r\n");sb.append("</script>\r\n");try {pageContext.getOut().println(sb.toString());} catch (IOException e) {e.printStackTrace();}return super.doStartTag();}}二、标签库描述文件:<?xml version="1.0" encoding="UTF-8"?><taglib version="2.0" xmlns="/xml/ns/j2ee"xmlns:xsi="/2001/XMLSchema-instance"xsi:schemaLocation="/xml/ns/j2ee web-jsptaglibrary_2_0.xsd"><tlib-version>2.0</tlib-version><short-name>my</short-name><uri>/qjyong</uri><tag><description>通用分页标签</description><name>pager</name><tag-class>com.qiujy.tags.PagerTag</tag-class><body-content>empty</body-content><attribute><name>pageNo</name><required>true</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>recordCount</name><required>true</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>pageSize</name><required>true</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>url</name><required>true</required><rtexprvalue>true</rtexprvalue></attribute></tag></taglib>三、把标签处理类和tld打成pager.jar包。