- 浏览: 383430 次
- 性别:
- 来自: 上海
-
文章分类
最新评论
-
小灯笼:
LoadRunner性能测试实战课程网盘地址:https:// ...
LoadRunner性能测试实战教程 -
爱上疯狂:
[范德萨发的是 发大水发大水发多大沙发啊quote]
main方法测试外系统接口 -
siphlina:
Loadrunner视频——http://pan.baidu. ...
LoadRunner性能测试实战教程 -
全球唯一的你:
LoadRunner性能测试实战视频教程课程观看地址:http ...
LoadRunner性能测试实战教程 -
凡人修仙:
课程:LoadRunner性能测试实战网盘地址: http:/ ...
LoadRunner性能测试实战教程
第一步 用static方法来进行分页
JSP
后台代码
第二步 用JSTL来包装该静态方法
JSP
tld
Tag类
JSP
<% Hashtable<String, String> map = new Hashtable<String, String>(); map.put("fileName", fileName); map.put("startTime", startTime); map.put("endTime", endTime); map.put("fileStatus", fileStatus);%> <%= PageHelper.NormalPager(request, PageHelper.PER_PAGE_COUNT, totalCount, "summary.do", UrlUtils.getParameterString(map))%>
后台代码
public static String NormalPager(HttpServletRequest request, int pageSize, int totalCount, String actionName, String paramString) { return GeneratePager(request, pageSize, totalCount, actionName, paramString); }
public static String GeneratePager(HttpServletRequest request, int pageSize, int totalCount, String actionName, String paramString) { int totalPages = GetTotalPageCount(totalCount, pageSize); if (IsOnlyOnePage(totalPages)) { return ""; } int currentPage = GetCurrentPage(request, totalPages); StringBuilder output = new StringBuilder(); output.append("<div class='pagination'>"); HandleFirstPage(output, currentPage, actionName, paramString); HandlePreviousPage(output, currentPage, actionName, paramString); HandlePagers(output, totalPages, currentPage, actionName, paramString); HandleNextPage(output, totalPages, currentPage, actionName, paramString); HandleLastPage(output, totalPages, currentPage, actionName, paramString); output.append("</div>"); logger.debug(output.toString()); return output.toString(); }
private static int GetTotalPageCount(int totalCount, int pageSize) { logger.debug("totalCount:" + totalCount); logger.debug("pageSize:" + pageSize); return Math.max((totalCount + pageSize - 1) / pageSize, 1); }
private static void HandleFirstPage(StringBuilder output, int currentPage, String actionName, String paramString) { if (CurrentInFirstPage(currentPage)) { output.append("<span class='disabled'>First</span>"); } else { output.append(String.format( "<a href='%1$s?page=%2$d&%3$s'>First</a>", actionName, 1, paramString)); } }
private static void HandleNextPage(StringBuilder output, int totalPages, int currentPage, String actionName, String paramString) { if (CurrentInLastPage(currentPage, totalPages)) { output.append("<span class='disabled'>next</span>"); } else { output.append(String.format( "<a href='%1$s?page=%2$d&%3$s'>next</a>", actionName, currentPage + 1, paramString)); } }
第二步 用JSTL来包装该静态方法
JSP
<p:page id="${SummaryCISBean.batchId }" startTime="${SummaryCISBean.startTime}" endTime="${SummaryCISBean.endTime}" status="${SummaryCISBean.batchStatus}" totalCount="${SummaryCISBean.totalCount}" currentPage="${page}" />
tld
<?xml version="1.0" encoding="UTF-8"?> <taglib version="2.0" 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 web-jsptaglibrary_2_0.xsd"> <tlib-version>1.0</tlib-version> <short-name>p</short-name> <uri>/WEB-INF</uri> <tag> <name>page</name> <tag-class>test.CIMPageTag</tag-class> <body-content>empty</body-content> <attribute> <name>id</name> <required>true</required> <rtexprvalue>true</rtexprvalue> <type>java.lang.String</type> </attribute> <attribute> <name>status</name> <required>true</required> <rtexprvalue>true</rtexprvalue> <type>java.lang.String</type> </attribute> <attribute> <name>startTime</name> <required>true</required> <rtexprvalue>true</rtexprvalue> <type>java.lang.String</type> </attribute> <attribute> <name>endTime</name> <required>true</required> <rtexprvalue>true</rtexprvalue> <type>java.lang.String</type> </attribute> <attribute> <name>currentPage</name> <required>true</required> <rtexprvalue>true</rtexprvalue> <type>java.lang.String</type> </attribute> <attribute> <name>totalCount</name> <required>true</required> <rtexprvalue>true</rtexprvalue> <type>java.lang.String</type> </attribute> </tag> </taglib>
Tag类
package test; import java.io.IOException; import java.util.Hashtable; import javax.servlet.jsp.tagext.*; import javax.servlet.jsp.JspWriter; import javax.servlet.jsp.JspException; import org.apache.commons.lang.StringUtils; import com.hp.ucmdb.adapter.util.PageHelper; import com.hp.ucmdb.adapter.util.UrlUtils; public class CIMPageTag extends SimpleTagSupport { String id; String status; String startTime; String endTime; String currentPage; String totalCount; public void doTag() throws JspException { System.out.println(toString()); Hashtable<String, String> map = new Hashtable<String, String>(); map.put("batchId", StringUtils.defaultString(id)); map.put("startTime", StringUtils.defaultString(startTime)); map.put("endTime", StringUtils.defaultString(endTime)); map.put("batchStatus", StringUtils.defaultString(status)); currentPage="".equals(currentPage)?"1":currentPage; JspWriter out=getJspContext().getOut(); try { out.write(PageHelper.NormalPager(Integer.valueOf(currentPage), PageHelper.PER_PAGE_COUNT, Integer.valueOf(totalCount), "summary_cis.do", UrlUtils.getParameterString(map))); } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } } @Override public String toString() { return "CISPageTag [id=" + id + ", status=" + status + ", startTime=" + startTime + ", endTime=" + endTime + ", currentPage=" + currentPage + ", totalCount=" + totalCount + "]"; } public String getId() { return id; } public void setId(String id) { this.id = id; } public String getStatus() { return status; } public void setStatus(String status) { this.status = status; } public String getStartTime() { return startTime; } public void setStartTime(String startTime) { this.startTime = startTime; } public String getEndTime() { return endTime; } public void setEndTime(String endTime) { this.endTime = endTime; } public String getCurrentPage() { return currentPage; } public void setCurrentPage(String currentPage) { this.currentPage = currentPage; } public String getTotalCount() { return totalCount; } public void setTotalCount(String totalCount) { this.totalCount = totalCount; } }
发表评论
-
oracle sql 学生表 选课表
2014-07-15 15:34 1672查询语句 select * from student; ... -
omniture
2014-06-12 15:45 702PageView 200w+ Visits 50w+ ... -
Mongodb Hbase oracle
2014-05-11 19:20 1887Mongodb/hbase Oracle减少表 ... -
类加载
2014-05-10 21:22 474tomcat 启动后会加载web.xml中定义的filter和 ... -
cookie session
2014-05-10 16:18 573cookie中除了存放session的id外,还用以购物车的功 ... -
面向过程 面向对象
2014-05-10 16:14 610面向过程 可以快速出结 ... -
解释型 编译型 语法糖
2014-05-10 15:43 434语法糖 泛型,变长参数,自动装箱拆箱, foreach 虚拟机 ... -
类文件结构 等
2014-05-08 17:08 578代码编译的结果从本地 ... -
restful webservice SOAP servlet 区别
2014-05-08 15:53 1226restful webservice 和 servlet的关系 ... -
位 字节
2014-05-08 09:24 5451byte=8bit 所以1个字节的表达范围就是2^8=256 ... -
jvm 64 32 区别
2014-05-07 15:53 667java程序运行在64位jvm上需要付出较大的额外代价 1, ... -
boxing
2014-05-06 16:37 552Integer i1 = 100; Integ ... -
synchronized
2014-05-06 16:33 582synchronized public void test1( ... -
spring 生命周期
2014-05-05 15:43 427只有singleton行为的bean接受容器管理生命周期。 ... -
Hashtable ConcurrentHashMap 区别
2014-05-05 12:51 467ConcurrentHashMap 中的segment继承了 ... -
hadoop storm 区别
2014-04-30 13:23 4233http://www.zhihu.com/question/2 ... -
RPC vs RMI
2014-04-30 10:48 488RPC, SOAP, WSDL都是web service的关键 ... -
java 子线程
2014-04-23 15:34 600java 主线程调用子线程后 可以用join的方式等待子线程返 ... -
Tomcat多应用共享Session crossContext
2014-04-23 10:18 2779http://blog.csdn.net/lip009/art ... -
weblogic console 作用
2014-04-23 10:10 620weblogic console 可以对server / ap ...
相关推荐
3. **多页面支持**:如标题所言,一些分页插件允许在一个页面上显示多个独立的分页控件,且它们之间不会互相影响。这在处理多个数据列表或者不同区域的分页需求时非常有用。 4. **响应式设计**:考虑到现代网站需要...
4. 分页控件:在前端页面上提供分页控件,如“上一页”、“下一页”、“跳转到第n页”等。 在Java后端代码中,实现分页逻辑可以通过多种方式,例如: - 原生SQL:通过在查询语句中添加LIMIT和OFFSET来实现分页。 -...
JSP页面通过EL(Expression Language)和JSTL(JavaServer Pages Standard Tag Library)标签库来渲染分页控件,并与后台Java代码进行交互。此外,可能还涉及到Ajax异步请求,以实现无刷新的分页效果,提升用户体验...
以HTML5的`<datagrid>`标签为例,它提供了一种原生的分页解决方案,允许开发者通过设置简单的属性来实现数据的分页显示,如`datagrid-pager`用于指定分页控件的位置,`datagrid-pagesize`来设置每页显示的条目数。...
- 创建一个自定义标签(例如:`pagingTag`),该标签负责渲染分页控件。标签需要获取`Page`对象并决定哪些页码应该显示。 - 标签可以包含`<a>`标签,用于链接到不同页面,以及可能的“上一页”和“下一页”链接。 ...
根据设备特性调整分页控件的样式和交互方式,确保在手机、平板和桌面电脑上都能良好使用。 8. **安全性**:在处理分页请求时,需要验证用户输入的页码和每页数量,防止恶意攻击,如注入大数值导致性能下降或暴露...
3. **分页样式**:前端展示时,可以使用CSS和JavaScript优化分页控件的样式和交互效果。 4. **错误处理**:添加异常处理机制,确保在遇到问题时能给出友好的错误提示。 这个项目虽然简单,但对于初学者来说,涵盖了...
在 JSP 页面中展示表格数据,并添加分页导航控件。 ##### 步骤 3: 实现后端逻辑 后端需要处理分页相关的业务逻辑: - 接收前端传递过来的当前页码 `currentPage`。 - 计算偏移量 `offset = (currentPage - 1) * ...
这个类可能会包含如`getCurrentPage()`、`getTotalPage()`、`getPageSize()`等方法,方便在视图层展示分页控件。 3. **queryHotel.jsp**:这是一个查询酒店的JSP页面,可能包含一个表单来让用户输入查询条件,比如...
本文将详细解析“spageview分页taglib demo1版”,这是一个基于自定义Tag库实现的分页控件,旨在简化Java Web项目中的分页处理。 首先,`spageview.jar`是该分页功能的核心组件,它包含了一个或多个定制的Tag类,...
3. **数据展示**:在用户界面中根据计算出的分页信息展示相应的数据和分页控件。 4. **用户交互**:响应用户的翻页请求,并且更新数据显示。 此段代码不仅提供了分页功能的实现,还考虑到了一些细节问题,例如,当...
在前端,通常会有一个分页控件,用户可以通过选择页码或调整每页显示条数来查看不同部分的数据。后端则需要根据前端传递的参数,如当前页和每页数量,去数据库中查询相应的数据并返回。 标题中的"ssh 分页 代源码...
在提供的“自定义标签(分页和下拉框控件)”中,可能包含了这样的分页控件。这些标签通常接受一些属性(如当前页、总页数等),并生成相应的HTML输出,包括页码链接和样式。 6. **交互与响应**:用户点击分页链接时...
在JSP页面上,我们可以使用JSTL(JavaServer Pages Standard Tag Library)或EL(Expression Language)来动态地展示分页控件。例如,我们可以遍历JavaBean的`totalPages`属性,生成页码链接: ```jsp ...
10. **响应式设计**:考虑到不同设备的屏幕尺寸,分页控件应该具有良好的响应性,适应手机、平板和桌面等多种设备。 以上是基于JSP和Servlet实现分页的主要知识点。在这个“day15”压缩包中,你可以找到具体的代码...
这通常涉及到使用JSTL标签库中的`<c:forEach>`来遍历数据集,并使用自定义的HTML元素或者现有的JavaScript库(如jQuery插件)来生成分页链接。 通过以上步骤,我们就可以在一个Java Web应用程序中实现Struts2与...
首先,`pager-taglib`是基于JSTL(JavaServer Pages Standard Tag Library)的扩展,提供了一组自定义标签,这些标签可以轻松地在JSP页面上创建分页链接。通过将后台数据组织成`List`对象,我们可以直接将这个`List`...
例如,使用EL获取Bean的属性值,使用JSTL的`c:forEach`标签遍历分页链接。此外,还可以自定义JSP标签库,以提供更高级的分页功能,如跳转到第一页、最后一页,或者直接输入页码跳转。 分页过程中,关键在于如何根据...
在ASP.NET中,GridView是用于显示数据集或数据源的常用控件,支持多种操作,如排序、分页、编辑和删除。在JSP中,虽然没有内置的GridView控件,但可以通过自定义标签来实现类似的功能。 这篇博客文章 "JSP GridView...