<%@ page language="java" import="com.jixy.*,java.util.*" pageEncoding="utf-8"%>
<%@ page contentType="text/html;charset=GBK"%>
<%-- 我们使用 JSTL 来访问数据 --%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<%@ taglib uri="/struts-tags" prefix="s"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <base href="<%=basePath%>">
    
    <title>用户列表页面</title>
    <meta http-equiv="pragma" content="no-cache">
    <meta http-equiv="cache-control" content="no-cache">
    <meta http-equiv="expires" content="0">    
<style>
/* 给链接加入鼠标移过变色和去除下划线功能 */
a:hover {color:red;text-decoration:none}
</style>
  </head>
 
  <body><b>用户列表页面</b><br>
  <%-- 输出用户列表 --%><br>
  <table width="80%" border="1"  cellpadding="0" style="border-collapse: collapse; " bordercolor="#000000">
  <tr>
  <td><b>用户ID</b></td>
  <td><b>密码</b></td>
  <td><b>职业</b></td>
  <td><b>省代号</b></td>
  <td><b>市代号</b></td>
  <td><b>爱好</b></td>
  <td><b>了解途径</b></td>
  <td><b>出生日期</b></td>
  <td><b>操作</b></td>
  </tr>
<tr>
  <td><b>fdgd</b></td>
  <td><b>fasd</b></td>
  <td><b>safda</b></td>
  <td><b>sdfa</b></td>
  <td><b>sdfa</b></td>
  <td><b>asd</b></td>
  <td><b>adf</b></td>
  <td><b>asf</b></td>
  <td><b>asdf</b></td>
  </tr>

<s:iterator value="uiList" status="statu" id = "user" >
   <tr>
  <td><s:property value='uid'/></td>
  <td>$(uid)</td>
  <td><s:property value="pwd" /></td>
  <td><s:property value="post" /></td>
  <td><s:property value="provinceId" /></td>
  <td><s:property value="cityId" /></td>
  <td><s:property value="loves" /></td>
  <td><s:property value="channel" /></td>
  <td><s:property value="birthday" /></td>
  <td><a href="edit.action?id=${uid}">修改</a>&nbsp;&nbsp;&nbsp;<a href="delete.action?id=${uid}">删除</a></td>
  </tr>
   </s:iterator>
   </table> 共<s:property value="totalCount" />个用户
     第<s:property value="currentPage" />页/共<s:property value="totalPage" />页  
      <%-- 输出页面跳转代码, 分链接和静态文字两种 --%>
    <s:if test="currentPage > 1">
        <a href="${pageContext.request.contextPath}/listUserInfo2.action?page=${ currentPage-1}">上一页</a>
    </s:if>
    <s:if test="currentPage < totalPage">
        <a href="${pageContext.request.contextPath}/listUserInfo2.action?page=${currentPage+1}">下一页</a>
     </s:if>
    <%-- 输出 JavaScript 跳转代码 --%>
    <script>
    // 页面跳转函数
    // 参数: 包含页码的表单元素,例如输入框,下拉框等
    function jumpPage(input) {
        // 页码相同就不做跳转
        if(input.value == ${currentPage}) {
            return;
        }
        var newUrl = "${pageContext.request.contextPath}/listUserInfo2.action?page=" + input.value;
        document.location = newUrl;
    }
    </script>
    转到
      <!-- 输出 HTML SELECT 元素, 并选中当前页面编码 -->
      <select οnchange='jumpPage(this);'>  
      <s:bean name="org.apache.struts2.util.Counter" id="counter">
          <s:param name="first" value="1" />
          <s:param name="last" value="totalPage" />
                     <s:iterator>
                                   <option value="<s:property/>"  
                                   <s:if test="currentPage == currenter -1">selected</s:if>>
                                   <s:property/>
                                   </option>
                      </s:iterator>
        </s:bean>

</select>
      输入页码:<input type="text" value="${currentPage}" id="jumpPageBox" size="3">
      <input type="button" value="跳转" οnclick="jumpPage(document.getElementById('jumpPageBox'))">
  </body>
</html>

2.action

package cn.jixy.struts.actions;

import java.util.List;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;

import org.apache.struts2.ServletActionContext;

import com.jixy.hib.UserInfo;
import com.jixy.service.IPageService;
import com.jixy.service.impl.PageService;
import com.opensymphony.xwork2.ActionSupport;

public class useraction2 extends ActionSupport {
    public String page;
    public List<UserInfo> uiList;
    public int totalPage;
    public int totalCount;
    public int currentPage;
    public int pageSize = 2;    
    public String listUserInfo() {
        
        if (page == null || page.length() == 0) {
            page = "1";
        }
        //int currentPage = 0;
        try {
            System.out.println("hahha"+page);
            currentPage = Integer.parseInt(page);// 当前页码
        } catch (Exception e) {
        }
        if (currentPage == 0) {
            currentPage = 1;
            System.out.println("哈哈哈"+currentPage);
        }
        System.out.println(currentPage);
        IPageService pageService = new PageService();
        uiList = pageService.findPagedAll("UserInfo" ,currentPage, pageSize);
        totalPage = pageService.getTotalPage("UserInfo" ,pageSize);
        totalCount = pageService.getTotalCount("UserInfo");
        System.out.println(uiList.get(0).getUid());    
        return "succ";
    }
}

3.pageservice
package com.jixy.service.impl;

import java.util.ArrayList;
import java.util.List;

import org.hibernate.Query;
import org.hibernate.Session;
import org.hibernate.Transaction;

import com.jixy.hib.HibernateSessionFactory;
import com.jixy.service.IPageService;

public class PageService implements IPageService {

/**
     * 获取总页面数.
     *
     * @param pageSize
     *            一页显示数据量
     * @return 页面总数
     */
    public int getTotalPage(String tableName, int pageSize) {
        int totalCount = getTotalCount(tableName);
        // 得到页面总数
        int totalPageCount = ((totalCount + pageSize) - 1) / pageSize;

return totalPageCount;
    }

/**
     * 分页显示数据.
     * @param currentPage 当前页码, 从 1 开始
     * @param pageSize 每页显示数据量
     * @return 分页后的数据列表 - List<Student>
     */
    public List findPagedAll(String tableName, int currentPage, int pageSize) {
        
        Session session = null;
        Transaction tran = null;
        List pageList = new ArrayList();
        try {

if (currentPage == 0) {
                currentPage = 1;
            }
            //操作之前,打开 Session
            session = HibernateSessionFactory.getSession();
            
            //开启事务
            tran = session.beginTransaction();
            
            //执行事务处理
            String hql = "from " + tableName ;
            
            Query query = session.createQuery(hql);
            
            query.setFirstResult((currentPage - 1) * pageSize);
            query.setMaxResults(pageSize);
            
            pageList = query.list();
            
            //提交事务
            tran.commit();
            
        } catch (Exception e) {
            //如果出现异常,就撤销事务
            if(tran != null)
                tran.rollback();
            e.printStackTrace();
        } finally {
            //不管事务执行成功与否,最后都关闭Session
            session.close();
        }
        return pageList;
    }

/**
     * 得到总记录数
     * @return 指定表中的记录总数
     */
    public int getTotalCount(String tableName) {
        Session session = null;
        Transaction tran = null;
        List stuList = new ArrayList();
        try {
            //操作之前,打开 Session
            session = HibernateSessionFactory.getSession();
            
            //开启事务
            tran = session.beginTransaction();
            
            //执行事务处理
            String hql = "from " + tableName ;
            Query query = session.createQuery(hql);
            stuList = query.list();
            //提交事务
            tran.commit();
        } catch (Exception e) {
            //如果出现异常,就撤销事务
            if(tran != null)
                tran.rollback();
            e.printStackTrace();
        } finally {
            //不管事务执行成功与否,最后都关闭Session
            session.close();
        }
        return stuList.size();
    }
    
    
}

jsp+struct标签实现分页(只有jsp代码),内用到迭代标签、if标签、bean相关推荐

  1. 数据库分页和使用jstl标签替换分页的jsp代码

    参考链接: http://www.mossle.com/docs/jsp/html/jsp-ch-15.html 转载于:https://www.cnblogs.com/wenjieyatou/p/6 ...

  2. 【JSP教科书】JSP知识在线指南(记录知识JSP体系、EL表达式、JSTL标签库、JSP开发模型和分页查询)

    文章目录 @[toc] 一.JSP简介 1.1 什么是JSP? 1.2 JSP的特点 1.3 JSP为什么也是Servlet 1.4 tomact服务器中的资源分析 1.4.1 tomact服务器中的 ...

  3. java代码在jsp中怎么写_在jsp中写java代码

    该服务器上的所有的访问者的所有 jsp 页面 D.该服务器上的所有的访问者的所有 jsp 页面和 Java 程序 6.在 JSP 中调用 JavaBean 时不会用到的标记是( )...... jav ...

  4. jsp新闻项目(分页评论的维护浏览量)

    目录 一.分页 1.思路分析 2.代码 二.评论的维护 (Oracle)数据库评论表 1.添加评论 2.显示评论 3.删除评论 三.浏览量 一.分页 1.思路分析 当我们的数据库数据过多时,一个页面会 ...

  5. html通过jsp连接sql数据库数据,jsp连接sql Server数据库教程(示例代码)

    jsp连接sqlServer数据库教程: 首先讲下我用的工具版本以供参考: jar包:jtds1.3.1.jar  下载地址:点击进入 数据库:SQL Server2012 服务器:Tomcat8.0 ...

  6. jsp/html开发中常用的JS代码和页面特效代码

    1.jsp/html开发中常用的JS代码 1.后退 前进 <input type="button" value="后退" onClick="hi ...

  7. 为什么要把html改为jsp,为什么要用ZHTML替换JSP

    从2006年至2011年底,泽元软件一直都在以JSP为主要的展示层技术,而在长期的使用过程中,我们发现了JSP的一些问题,主要有: 1)JSP是一个开放的模型,既可以使用标签和自定义标签,也可以使用& ...

  8. Servlet与JSP学习笔记(五) JSP核心(下)

    同样可以参考菜鸟笔记. JSP标签 JSP除了包括以"<%"开头的JSP标记,还包括以"<jsp:"开头的JSP标签.实际上,前者的每种标记都有后者 ...

  9. jsp超链接到java文件,jsp页面超链接传中文终极解决办法

    在做web前端页面的时候,经常碰到传中文问题.网上有许多方案,但仍不能根治,最终要用js或者java的encode相关方法. 常规方案有三部: 1.改tomcat的server.xml中URIEnco ...

  10. jsp el 表达式_JSP表达式语言– JSP EL示例教程

    jsp el 表达式 Today we will look into JSP Expression Language or JSP EL Example tutorial. 今天,我们将研究JSP表达 ...

最新文章

  1. Java学习笔记32
  2. Vue和iview-admin搭建的项目进行兼容
  3. Typecho添加投稿功能插件
  4. linux下抓包工具 wireshark,网络抓包工具Wireshark的简单使用
  5. Kubernetes1.91(K8s)安装部署过程(一)--证书安装
  6. 如何从另一个Shell脚本调用Shell脚本?
  7. linux设置自动关机命令,Linux中Shutdown命令实现定时自动关机
  8. md5校验工具hash
  9. 利用UDP端口转发绕过校园网认证
  10. n1怎么进入线刷模式_诺讯N1线刷救砖教程 刷机包下载
  11. html设置div大小位置不变,div大小 div固定大小设置
  12. js文档加载事件---
  13. word文件怎么压缩?
  14. 企业数字化/数智化转型(一):数智力创新2.0
  15. 管理团队需要的能力和技术
  16. (新型事件相机有关的论文解读)A Unifying Contrast Maximization Framework for Event Cameras
  17. Python3.7.4入门-0/1To Begin/数据类型与结构
  18. excel显著性检验_#如何用excel做anova分析#用excel做显著性分析
  19. 程序员面试揭秘之程序员靠什么途径去美国工作?
  20. 压力测试/性能测试工具LoadRunner录制脚本详细步骤(一)

热门文章

  1. hadoop2.9 idea_Windows系统使用IntelliJ IDEA 搭建Hadoop的开发调试环境(一)
  2. 论文,罗马符,阿拉伯数字,页码设置
  3. 微信公众号授权(前端)
  4. 2022深圳杯ACD完整论文及详细代码资料
  5. 人脸识别数据集整理以及下载
  6. UE5 纹理系统讲解及常见问题设置及解决方案
  7. Android修改应用程序图标和名字
  8. MySQL - DAYNAME DAYOFWEEK 函数
  9. el-table增加顶部滚动条,表格实现上下双滚动条
  10. matlab逆变器原理,三相SPWM逆变器的调制建模和仿真详解