`

通过bboss mvc实现分页操作

阅读更多
通过bboss mvc实现分页操作
mvc demo下载和部署方法可以参考文档:
http://yin-bp.iteye.com/blog/1026245

这里介绍一下通过bboss mvc实现分页操作的实现步骤,呵呵
1.首先编写分页demo的配置文件为:
<?xml version="1.0" encoding='gb2312'?>
<!-- 
bboss-demo.xml
描述:分页处理控制器demo
-->
<properties>
    <property name="/pager/*.html" class="org.frameworkset.spi.mvc.PaginController"/>
</properties>


2.编写控制器代码类
package org.frameworkset.spi.mvc;

import java.io.IOException;
import java.sql.SQLException;
import java.util.List;

import javax.servlet.http.HttpServletResponse;
import javax.servlet.jsp.PageContext;

import org.frameworkset.util.annotations.PagerParam;
import org.frameworkset.util.annotations.RequestParam;
import org.frameworkset.web.servlet.ModelAndView;
import org.frameworkset.web.servlet.ModelMap;

import test.pager.TableInfo;

import com.frameworkset.common.poolman.PreparedDBUtil;
import com.frameworkset.common.poolman.SQLExecutor;
import com.frameworkset.util.ListInfo;

/**
 * 
 * @author Administrator
 *
 */
public class PaginController {
	
	/**
	 * http://localhost:8080/bboss-mvc/pager/firstpagerdemo.html
	 * @param sortKey
	 * @param desc
	 * @param offset
	 * @param pagesize
	 * @return
	 */
	public ModelAndView firstpagerdemo(@PagerParam(name=PagerParam.SORT ) String sortKey,
			@PagerParam(name=PagerParam.DESC,defaultvalue="true") boolean desc,
			@PagerParam(name=PagerParam.OFFSET) long offset,
			@PagerParam(name=PagerParam.PAGE_SIZE,defaultvalue="2") int pagesize,
			@RequestParam(name="TABLE_NAME") String tablename
			
			)
	{			
		String sql = "select * from tableinfo";
		boolean usecondition = tablename != null && !tablename.equals("");
		if(usecondition)
			sql += " where TABLE_NAME like ?";
		
		ModelAndView view = new ModelAndView("/pager/pagerdemo");
		try {
			ListInfo datas = null;
			if(usecondition)
			{
				datas = SQLExecutor.queryListInfo(TableInfo.class, sql, offset, pagesize, "%" + tablename + "%");
			}
			else
			{
				datas = SQLExecutor.queryListInfo(TableInfo.class, sql, offset, pagesize);
			}
			view.addObject("pagedata", datas);
		
//			datas.setMaxPageItems(pagesize);
			
			
		} catch (SQLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	
		
		return view;
	}
	
	/**
	 * http://localhost:8080/bboss-mvc/pager/pagerdemo.html
	 * @param sortKey
	 * @param desc
	 * @param offset
	 * @param pagesize
	 * @return
	 */
	public ModelAndView pagerdemo(@PagerParam(name=PagerParam.SORT ) String sortKey,
			@PagerParam(name=PagerParam.DESC,defaultvalue="true") boolean desc,
			@PagerParam(name=PagerParam.OFFSET) long offset,
			@PagerParam(name=PagerParam.PAGE_SIZE,defaultvalue="2") int pagesize,
			@RequestParam(name="TABLE_NAME") String tablename,
			PageContext context,
			ModelMap model
			)
	{			
		String sql = "select * from tableinfo";
		boolean usecondition = tablename != null && !tablename.equals("");
		if(usecondition)
			sql += " where TABLE_NAME like ?";
		ListInfo datas = new ListInfo();
		PreparedDBUtil db = new PreparedDBUtil();
		try {
			db.preparedSelect(sql,offset,pagesize);
			if(usecondition)
				db.setString(1, "%" + tablename + "%");
			List<TableInfo> tables = db.executePreparedForList(TableInfo.class);
			
			datas.setTotalSize(db.getTotalSize());//设置总记录数
			datas.setDatas(tables);//设置当页数据
//			datas.setMaxPageItems(pagesize);
			
			
		} catch (SQLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	
		ModelAndView view = new ModelAndView("/pager/pagerdemo","pagedata", datas);
		return view;
	}
	
	public void testcn(HttpServletResponse response)
	{
		try {
			response.setContentType("text/html; charset=GBK");
			response.getWriter().print("中文");
			
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	}

}


3.编写jsp页面:

<%@ page contentType="text/html; charset=GBK" language="java" %>
<%@ taglib uri="/WEB-INF/pager-taglib.tld" prefix="pg"%>
<%@ page import="org.frameworkset.web.servlet.support.RequestContext" %>

<!-- 
	测试在通过控制器获取分页列表数据,并且提供查询功能
-->
<html>
<head>
<title>测试在通过控制器获取分页列表数据,并且提供查询功能</title>
</head>
<body>
	<table>
				<tr class="cms_report_tr">
						<!--设置分页表头-->
					<form action="<%=RequestContext.getPathWithinHandlerMappingPath(request)%>" method="post">
						<td  style="width:20%">请输入表名:</td>
						<td  style="width:5%" colspan="100"><input type="text" name="TABLE_NAME" value="<%=request.getParameter("TABLE_NAME") %>"><input type="submit" name="查询" value="查询"></td>
					</form>
				</tr>
						
	    
				<!--分页显示开始,分页标签初始化-->
				<pg:pager scope="request" data="pagedata" 
						  isList="false">
				<pg:param name="TABLE_NAME"/>
					<tr class="cms_report_tr">
						<!--设置分页表头-->

						<td width="2%" align=center style="width:5%">
						<input class="checkbox" 
							type="checkBox" hidefocus=true 
							name="checkBoxAll" 
							onClick="checkAll('checkBoxAll','ID')"> 
						</td>
						<td width="8%">
							TABLE_NAME					</td>
						<td width="8%">
							TABLE_ID_GENERATOR					</td>
							<td width="8%">
							TABLE_ID_TYPE					</td>
						
					</tr>
				
				<pg:notify>
					<tr class="cms_report_tr">
						

					<td width="2%" align=center style="width:5%">
						没有数据
					</td>
					</tr>				
				</pg:notify>
					
				<pg:list >
				
					<tr class="cms_report_tr">
						

						<td width="2%" align=center style="width:5%">
							<input class="checkbox" hideFocus onClick="checkOne('checkBoxAll','ID')" 
							type="checkbox" name="ID" 
							value="<pg:cell colName="TABLE_NAME" defaultValue=""/>">
							<img border="0" src="${pageContext.request.contextPath}<pg:theme code="exclamation.gif"/>"
                                         alt="<pg:message code="probe.jsp.datasources.list.misconfigured.alt"/>"/>										
						</td>
						<td width="8%">
							<pg:cell colName="TABLE_NAME" defaultValue=""/>		
							<pg:message var="messagecode" code="probe.jsp.wrongparams"/>
							${messagecode}
										</td>
							
						
						<td width="8%">
							<pg:cell colName="TABLE_ID_GENERATOR" defaultValue=""/>		
							<pg:message var="messagecode" code="probe.jsp.wrongparams"/>
							${messagecode}
										</td>
						<td width="8%">
							<pg:cell colName="TABLE_ID_TYPE" defaultValue=""/>		
							<pg:message var="messagecode" code="probe.jsp.wrongparams"/>
							${messagecode}
										</td>
					</tr>
					</pg:list>
					
					
					<tr><pg:index/></tr>
				</pg:pager> 
	
				
	</table>
</body>
</html>


到此整个分页的所有代码就做好了,实际效果可以自己下载demo应用操作体验一下,如果demo已经部署好的话,可以在浏览器中输入以下地址看分页的效果:
http://localhost:8080/bboss-mvc/pager/pagerdemo.html
如果要开始动手做自己的例子可以参考文档:
《搭建自己的bbossmvc eclipse开发工程,编写第一个实例》
http://yin-bp.iteye.com/blog/1026261
2
5
分享到:
评论

相关推荐

    bboss mvcdemo 下载地址

    4. **AOP(面向切面编程)**:BBoss MVCDemo支持AOP,可以实现如事务管理、日志记录、权限控制等功能,提高代码的复用性和可维护性。 5. **国际化与本地化**:框架内置了国际化和本地化支持,使得应用可以根据用户...

    bboss mvc 通过jsonp实现跨站跨域远程访问

    标题中的“bboss mvc 通过jsonp实现跨站跨域远程访问”指的是使用bboss MVC框架来处理JSONP(JSON with Padding)请求,以克服浏览器的同源策略限制,实现跨域数据交互。bboss MVC是一个Java Web开发框架,它提供了...

    bboss mvc文件上传下载实战进阶

    NULL 博文链接:https://yin-bp.iteye.com/blog/1131637

    bboss+es基本操作示例.zip

    结合bboss和Elasticsearch,开发者可以轻松实现日志实时分析、用户行为追踪、商品推荐等业务场景,通过DSL实现复杂查询和聚合分析,提升应用的数据处理能力。 总之,bboss+es基本操作示例是学习和实践Elastic...

    bbossgroups 开发系列文章之一 最佳实践

    本文将深入讲解bbossgroups开发系列文章之一中的最佳实践,涉及bboss MVC框架的基础配置、控制器、数据库访问、DAO组件、业务组件管理以及与前端的交互等方面。 首先,我们来了解bboss MVC框架的基础配置。bboss-...

    bboss-mvc.jar

    官方版本,亲测可用

    bboss会话共享培训文档

    bboss会话共享是一种分布式会话管理技术,它针对在集群环境下应用部署时如何解决...通过这样的实现,bboss会话共享不仅在技术层面解决了会话管理的难题,还确保了与业界主流技术的兼容性,提高了系统的可用性和安全性。

    elasticsearch:基于springboot整合bboss es实现的demo项目

    展示了通过spring boot管理单集群功能和管理多集群功能 单集群测试用例:eshelloword-spring-boot-starter\src\test\java\org\bboss\elasticsearchtest\springboot\BBossESStarterTestCase.java 单集群演示功能...

    bboss-elasticsearch开发环境搭建和开发入门视频教程.

    2. **bboss elasticsearch开发入门教程.wmv**: 通过实例演示,讲解如何使用BBoss进行索引操作、数据插入、查询和更新,帮助初学者快速上手。 **六、资料阅读** "说明.txt" 文件可能包含了关于这些教程的详细步骤和...

    基于bboss框架的全面设计源码自动生成工具

    该工具是一款基于bboss...此工具能够自动生成bboss MVC、IOC、持久化、JSP、i18n、SQL配置文件、Web服务、Hessian服务等相关源代码,适用于快速开发和项目迭代。详细文档请参考:http://yin-bp.iteye.com/blog/2256948

    企业级J2EE开源框架bboss

    2. **数据库操作**:BBoss提供了便捷的数据访问层(DAO),支持SQL动态生成、事务管理以及多种数据库的兼容性,使得数据库操作变得简单且高效。 3. **服务治理**:框架内置了服务注册与发现机制,可以实现微服务...

    bboss persistent 1.0.2中方便地实现大字段(clob,blob)的处理

    4. **源码分析**:标签中提到的“源码”意味着我们可以通过查看BBoss Persistent的源代码来了解其内部处理大字段的具体实现。通过这种方式,开发者可以更好地理解其工作原理,进行定制化开发或优化。 5. **工具支持...

    bboss-gencode:这是一个自动为bboss mvc,ioc,persistent,jsp,i18n,sql配置文件,webservice,hessian服务等生成源代码的工具。Dev文档yin-bp.iteye.comblog2256948-mvc source code

    自动代码生成器是针对bboss框架和bboss开发平台的自动代码生成工具,可以根据模板,自动生成给定表的增,删,改,分页查询,列表查询,国际化功能对应的程序和配置文件: 1.mvc控制器 2.业务组件 3.实体类 4.jsp文件...

    springboot整合bboss es增删改查测试demo代码

    展示了通过spring boot管理单集群功能和管理多集群功能 单集群测试用例:eshelloword-spring-boot-starter\src\test\java\org\bboss\elasticsearchtest\springboot\BBossESStarterTestCase.java 单集群演示功能...

    bboss-db-elasticsearch-tool-master_java_

    通过阅读源码、查看示例和文档,开发人员可以深入理解BBoss-DB-Elasticsearch-Tool的工作原理,并将其应用于实际项目中,实现高效且可靠的数据库操作。 总之,BBoss-DB-Elasticsearch-Tool是一个强大的Java ORM框架...

    bboss elasticsearch-5.7.8.rar

    BBoss Elasticsearch是针对Elasticsearch设计的一款辅助工具,主要用于帮助开发者实现数据库数据到Elasticsearch的批量和定时导入。 BBoss(Business Basic Open Source)是一系列企业级开源组件的集合,旨在简化...

Global site tag (gtag.js) - Google Analytics