ibatis-ibtais中user.xml中的.page.end与page.start怎么赋值的?

问题描述

ibtais中user.xml中的.page.end与page.start怎么赋值的?

user.xml
只有这两个page对象调用

<![CDATA[
select * from (select rownum rn,tu.party_id,tu.user_account,tu.password,tu.valid,tu.creater_id,tu.create_time,
tu.password_status,tu.terminal_use_flag,tu.desktop_use_flag,tu.valid_desk,tu.flag,tu.work_code,tu.team_code,tu.transfer_type,tu.card_transfer_type,
tp.party_name,tor.org_name,tor.org_code,tor.manager_org_code
]]>

<![CDATA[
and rownum<=# page.end #
) A WHERE rn> ** #page.start# **

]]>

Pagination分页控制类
package bj.n22.base.common;

/**

  • 作用:分页的控制
  • @author wenc
  • */
    public class Pagination {

    /**

    • 总记录数
      */
      private int rowCount;

    /**

    • 当前页
      /
      private int currentPage = 1;
      /
      *
    • 下一页
      /
      private int nextPage;
      /
      *
    • 上一页
    • /
      private int priPage;
      /
      *
    • 最后一页
      */
      private int lastPage;

    /**

    • 总页数
      */
      private int pageCount;

    /**

    • 每页的显示数量
    • */
      private int paginalNum;

    /**

    • 构造函数 初始化每页显示的条数
      */
      public Pagination() {
      paginalNum = 10;
      }

    /**

    • @return Returns the pageCount.
      */
      public int getPageCount() {
      return pageCount;
      }

    /**

    • @param pageCount
    • The pageCount to set.
      */
      public void setPageCount(int pageCount) {
      this.pageCount = pageCount;
      }

    /**

    • @return Returns the currentPage.
      */
      public int getCurrentPage() {
      return currentPage;
      }

    /**

    • @param currentPage
      */
      public void setCurrentPage(int currentPage) {
      if (currentPage < 1)
      return;
      this.currentPage = currentPage;
      }

    /**

    • @return Returns the paginalNum.
      */
      public int getPaginalNum() {
      return paginalNum;
      }

    /**

    • @param paginalNum
    • The paginalNum to set.
      /
      public void setPaginalNum(int paginalNum) {
      if (paginalNum < 1)
      return;
      this.paginalNum = paginalNum;
      }
      /
      *

      • @return Returns the priPage.
        */
        public int getPriPage() {
        if (currentPage > 1) {
        priPage = currentPage - 1;
        } else {
        priPage = currentPage;
        }
        return priPage;
        }

    /**

    • @return
      */
      public int getLastPage() {
      lastPage = rowCount % paginalNum == 0 ? rowCount / paginalNum
      : rowCount / paginalNum + 1;
      return lastPage;
      }

    /**

    • @return
      /
      public int getNextPage() {
      getLastPage();
      if (currentPage < lastPage) {
      nextPage = currentPage + 1;
      } else {
      nextPage = currentPage;
      }
      return nextPage;
      }
      /
      *
    • @param rowCout
    • The rowCout to set.
      */
      public void setRowCount(int rowCount) {
      if (rowCount < 0)
      return;
      this.rowCount = rowCount;
      pageCount = rowCount / paginalNum;
      if (rowCount % paginalNum !=0){
      pageCount =pageCount + 1;
      }
      }

    /**

    • @return the rowCount
      */
      public int getRowCount() {
      return rowCount;
      }

    /**用于 oracle查询时的起始记录数

    • @return
      */
      public int getStart(){
      return (this.getCurrentPage() -1) * this.getPaginalNum();
      }

    /**用于 oracle查询时的截止记录数

    • @return
      */
      public int getEnd(){
      return this.getCurrentPage() * this.getPaginalNum();
      }

    /** 设置当前页,从客户端获取的字符串时方便调用

    • @param currentPage
      */
      public void setCurrentPage(String currentPage){
      int curPage=1;
      if (currentPage !=null && !"".equals(currentPage.trim())){
      curPage =Integer.parseInt(currentPage);
      }
      this.setCurrentPage(curPage);
      }

}

Action类
public String searchUsers() throws UnsupportedEncodingException {

Pagination page = new Pagination();
String currentPage = request.getParameter("currentPage");
page.setCurrentPage(currentPage);
//获得登陆用户角色
UserSession user = SessionManager.getLoginUser(request);
//获得登陆用户所在机构ID
String userOrgCode = user.getOrgCode();
if( !userOrgCode.equals(SystemConstant.SUPER_ORG_CODE)){
if(model.getOrgCode()==null && model.getOrgName()==null ){
model.setOrgCode(userOrgCode);
model.setOrgName(user.getOrgName());
}
}
//获得用户所属渠道
model.setChannelCode(user.getChannelCode());
//如果从启动移动展业跳转而来的,要对中文参数进行转码
String stemFrom = request.getParameter("stemFrom");
if(StringUtils.isNotEmpty(stemFrom)){
model.setPartyName(new String(model.getPartyName().getBytes("ISO-8859-1"), "UTF-8"));
model.setOrgName(new String(model.getOrgName().getBytes("ISO-8859-1"), "UTF-8"));
}
QueryResult result = usersService.searchUsers(model, page);
page.setRowCount(result.getCount());
if(userOrgCode.equals(SystemConstant.SUPER_ORG_CODE)){
request.setAttribute("userOrgCode", null);
request.setAttribute("userOrgName", null);
}else{
request.setAttribute("userOrgCode", userOrgCode);
request.setAttribute("userOrgName", user.getOrgName());
}

    model.setUserAccount(account);
    request.setAttribute("listStr", listStr);
    request.setAttribute("list", result.getList());

    request.setAttribute("page", page);
    return this.SUCCESS;
}

UsersServiceImpl类

public QueryResult searchUsers(Users users, Pagination page) {
users.setPartyName(users.getPartyName()==null?"":users.getPartyName().trim());
users.setUserAccount(users.getUserAccount()==null?"":users.getUserAccount().trim());
return usersDao.searchUsers(users, page);
}
UsersDaoImpl类
public QueryResult searchUsers(Users users,Pagination page) {
return baseDao.search("nci-system-users.searchUsers",users,page) ;
}

BaseDaoImpl基类
public QueryResult search(String statementName,Object model,Pagination page) {
Map map=new HashMap();
map.put("page",page);
map.put("model", model);
List list=queryForList(statementName, map);
int count=queryForInt(statementName + "_count", map);
QueryResult result=new QueryResult();
result.setCount(count);
result.setList(list);
return result ;
}

时间: 2024-10-04 01:20:16

ibatis-ibtais中user.xml中的.page.end与page.start怎么赋值的?的相关文章

pom xml-maven项目中servlet.xml中出现 &amp;amp;quot;oscache:config&amp;amp;quot; is not bound.错误

问题描述 maven项目中servlet.xml中出现 "oscache:config" is not bound.错误 在pom.xml中加了依赖oscache的jar包.代码如下:com.opensymphonyoscache2.4.1 在servlet.xml中出现The prefix ""oscache"" for element ""oscache:config"" is not bound.错误

Liferay中portlet.xml中安全控制

在portlet中都有portlet.xml,我们都可以看到下面关于安全设定对应的代码: .. <security-role-ref> <role-name>administrator</role-name> </security-role-ref> <security-role-ref> <role-name>guest</role-name> </security-role-ref> <securit

android中string.xml中%1$s、%1$d等的用法

 一.使用xliff的用法: <xliff:g>标签介绍: 属性id可以随便命名 属性值举例说明%n$ms:代表输出的是字符串,n代表是第几个参数,设置m的值可以在输出之前放置空格 %n$md:代表输出的是整数,n代表是第几个参数,设置m的值可以在输出之前放置空格,也可以设为0m,在输出之前放置m个0 %n$mf:代表输出的是浮点数,n代表是第几个参数,设置m的值可以控制小数位数,如m=2.2时,输出格式为00.00  也可简单写成: %d   (表示整数) %f    (表示浮点数) %s

Servlet容器Tomcat中web.xml中url-pattern配置详解

前言 今天研究了一下tomcat上web.xml配置文件中url-pattern的问题. 这个问题其实毕业前就困扰着我,当时忙于找工作. 找到工作之后一直忙,也就没时间顾虑这个问题了. 说到底还是自己懒了,没花时间来研究. 今天看了tomcat的部分源码 了解了这个url-pattern的机制.  下面让我一一道来. tomcat的大致结构就不说了, 毕竟自己也不是特别熟悉. 有兴趣的同学请自行查看相关资料. 等有时间了我会来补充这部分的知识的. 想要了解url-pattern的大致配置必须了解

JavaEE中web.xml中的load-on-startup属性

1)load-on-startup元素标记容器是否在启动的时候就加载这个servlet(实例化并调用其init()方法). 2)它的值必须是一个整数,表示servlet应该被载入的顺序.当值为0或者大于0时,表示容器在应用启动时就加载并初始化这个servlet: 3)当值小于0或者没有指定时,则表示容器在该servlet被选择时才会去加载. 4)正数的值越小,该servlet的优先级越高,应用启动时就越先加载. 5)当值相同时,容器就会自己选择顺序来加载. 看一个配置SpringMVC分发器的例

【求助】C#中对XML中某个节点修改后SAVE了,但并没有更新文件

问题描述 C#中,读取XML文件后,查找某个节点的值,如果这个节点的节点存在,就修改掉,然后保存.保存后再打开XML文件,发现内容并没有更新,但是查看文件修改时间,确实修改了.代码如下:XmlDocumentxml=newXmlDocument();xml.Load(fileName);XmlNodeListuserInfoList=xml.SelectNodes("/UserAuthorityInfo/UserInfo");foreach(XmlNodexninuserInfoLis

ASP.NET中根据XML动态创建使用WEB组件

asp.net|web|xml|创建|动态   前段时间笔者在开发中需要动态创建WEB组件,本以为是小事一桩,谁知看时容易做时难.里面还真有些小问题.下面笔者就结合自己的程序来介绍一下如何动态创建并使用WEB组件,希望能给做类似工作的朋友提供一点帮助.   一.程序思路   程序主要分三部分:   1.程序要根据XML中的数据信息确定需要创建的WEB组件的个数.   2.动态创建WEB组件.   3.使用动态创建的WEB组件.   其中2和3是笔者要重点介绍的部分.   下面笔者就按照这三部分结

ASP.NET中根据XML动态创建并使用WEB组件(一)

asp.net|web|xml|创建|动态 ASP.NET中根据XML动态创建使用WEB组件 (一) 作者:厉铁帅 前段时间笔者在开发中需要动态创建WEB组件,本以为是小事一桩,谁知看时容易做时难.里面还真有些小问题.下面笔者就结合自己的程序来介绍一下如何动态创建并使用WEB组件,希望能给做类似工作的朋友提供一点帮助. 一.程序思路 程序主要分三部分: 1.程序要根据XML中的数据信息确定需要创建的WEB组件的个数. 2.动态创建WEB组件. 3.使用动态创建的WEB组件. 其中2和3是笔者要重

ASP.NET中根据XML动态创建使用WEB组件_实用技巧

  前段时间笔者在开发中需要动态创建WEB组件,本以为是小事一桩,谁知看时容易做时难.里面还真有些小问题.下面笔者就结合自己的程序来介绍一下如何动态创建并使用WEB组件,希望能给做类似工作的朋友提供一点帮助.   一.程序思路   程序主要分三部分:   1.程序要根据XML中的数据信息确定需要创建的WEB组件的个数.   2.动态创建WEB组件.   3.使用动态创建的WEB组件.   其中2和3是笔者要重点介绍的部分.   下面笔者就按照这三部分结合程序实例(以c#为例)来一一介绍.   二