`
qchong
  • 浏览: 17750 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

基于HIBERNATE的动态列表

阅读更多

本文章系Jarvis原创,转载请注明!

利用HIBERNAGTE要实现如下功能:



 也就是在下方选择要显式的项目,则在上方列表显式.
具体实现:
Struts2实现:

<table width="100%" cellspacing="1" class="l_table">
                <tr class="l_title">
                    <s:iterator value="showItems">
                        <td>
                            <s:property value="value" />
                        </td>
                    </s:iterator>
                </tr>
                <s:iterator value="pager.result" status="st" id="list">
                    <tr class="l_tr">
                        <s:iterator value="list" status="st1">
                            <td>
                                <s:if test="#st1.count==1">
                                    <input type="checkbox" vlaue="<s:property value="#list[0]" />" />
                                </s:if>
                                <s:elseif test="#st1.count==2">
                                    <a href="#"
                                        onclick="openWindow('customer.action?cusId=<s:property value="#list[0]" />',800,600,'cusW<s:property value="#list[0]" />')"><s:property />
                                    </a>
                                </s:elseif>
                                <s:else>
                                    <s:property />
                                </s:else>
                            </td>
                        </s:iterator>
                    </tr>
                </s:iterator>
            </table>

<table width="100%" algin="center" id="selectT">
                <tr>
                    <td align="center">
                        <b>显示项目</b>
                    </td>
                </tr>
                <tr>
                    <td>
                        <s:iterator value="selectItems">
                            <s:property value="value" />
                            <input type="checkbox" value="<s:property value="key" />" />
                        </s:iterator>
                    </td>
                </tr>
                <tr>
                    <td align="center">
                        <input type="button" id="btn_refresh" value="更 新" />
                    </td>
                </tr>
            </table>

 

    public String execute() throws Exception {
        page = page == null ? 1 : page;
        pageSize = pageSize == null ? 10 : pageSize;
        pager = new Page<Object[]>();
        pager.setPageNo(page);
        pager.setPageSize(pageSize);
        pager.setStyleType(2);
        pager.setTarget("list_customers.asp?pageSize=" + pageSize);
        /**//* 定制列表项 */
        boolean isExistCookie = false;
        Cookie[] cookies = getRequest().getCookies();
        for (Cookie cookie : cookies) {
            if (cookie.getName().equals("showItemsStr")) {
                // Cookie存在
                isExistCookie = true;
                if (showItemsStr != null && !showItemsStr.trim().equals("")) {
                    // 刷新Cookie
                    cookie.setValue(showItemsStr);
                    cookie.setMaxAge(60 * 60 * 24 * 30);
                    getResponse().addCookie(cookie);
                } else {
                    // 从Cookie中读取
                    showItemsStr = cookie.getValue();
                }
                break;
            }
        }
        // Cookie不存在
        if (!isExistCookie) {
            if (showItemsStr != null && !showItemsStr.trim().equals("")) {
                // 创建Cookie
                Cookie c = new Cookie("showItemsStr", showItemsStr);
                c.setPath("/");
                c.setMaxAge(60 * 60 * 24 * 30);
                getResponse().addCookie(c);
            }
        }
        if (showItemsStr == null || showItemsStr.trim().equals("")) {
            // 为空 ,默认
            showItemsStr = "cusNation|cusCity|cusTelNum|cusEmail";
        }
        showItemsStr = "id|cusName|" + showItemsStr;// id cusName 必须
        showItems = getMapFromStr(showItemsStr);
        pager = customerManager.getCustomers(pager, showItemsStr);

        selectItems = getCusStringMap();
        selectItems.remove("id");
        selectItems.remove("cusName");
        searchItems = getCusStringMap();
        searchItems.remove("id");
        return SUCCESS;
    }
private Map<String, String> getMapFromStr(String str) {
        str = str.trim();
        if (str == null || str.equals(""))
            return null;
        Map<String, String> map = new LinkedHashMap<String, String>();
        String[] strs = str.split("\\|");
        for (String s : strs) {
            map.put(s, getCusStringMap().get(s));
        }
        return map;
    }

    private Map<String, String> getCusStringMap() {
        Map<String, String> map = new LinkedHashMap<String, String>();
        map.put("id", "序号");
        map.put("cusName", "客户名称");
        map.put("cusEmail", "电子邮件");
        /*省略具体项目*/
        return map;
    }

 

public Page<Object[]> getLinkmans(Page<Object[]> page, String showItemsStr) {
        String hql = "select " + showItemsStr.trim().replaceAll("\\|", ",")
                + " from Linkman";
        page.setAutoCount(false);
        int totalCount = linkmanDao.sum("select count(*) from Linkman")
                .intValue();
        page.setTotalCount(totalCount);
        page.setResult(linkmanDao
                .find(hql, page.getFirst(), page.getPageSize()));
        return page;
    }

 时间仓促,大家有问题与我交流!

  • 大小: 18 KB
1
0
分享到:
评论

相关推荐

    基于hibernate的简单留言本

    基于Hibernate的简单留言本是一个基本的Web应用程序,它使用Hibernate作为数据持久化层,用户可以通过该系统进行留言、查看留言以及回复等操作。这个系统展示了如何在实际项目中应用Hibernate来管理数据库交互。 ...

    hibernate动态数据库改进版

    《Hibernate动态数据库改进版》 在Java开发领域,Hibernate作为一款强大的对象关系映射(ORM)框架,极大地简化了数据库操作。本篇文章将深入探讨如何利用Hibernate实现动态数据库操作,并结合具体的实例,介绍一个...

    基于hibernate的网上留言簿

    **基于Hibernate的网上留言簿**是一个实用的教学项目,旨在帮助初学者理解如何在Web应用程序中集成Hibernate框架。Hibernate是一个强大的对象关系映射(ORM)工具,它可以将Java类与数据库表进行映射,从而简化...

    基于Hibernate开发的商城网站

    【标题】"基于Hibernate开发的商城网站"是一个实践项目,主要展示了如何利用Hibernate这一流行的Java持久层框架来构建一个电子商务平台。Hibernate是一个对象关系映射(ORM)工具,它简化了数据库与Java对象之间的...

    基于hibernate/dwr框架实现的web项目

    在这个"基于Hibernate/DWR框架实现的Web项目"中,我们可以看到开发者利用了Java Web开发的强大工具,包括Hibernate作为持久层框架,Direct Web Remoting (DWR)作为前端与后端交互的桥梁,以及Oracle数据库作为数据...

    基于hibernate+spring+struts的学生选课系统

    【标题】"基于hibernate+spring+struts的学生选课系统"是一个常见的Java Web开发框架的集成应用,用于构建高效、稳定且易于维护的学生选课管理平台。这个系统利用了三大主流开源框架:Hibernate作为对象关系映射...

    基于hibernate的购物网站

    【基于Hibernate的购物网站】是一种使用Java开发的Web应用程序,主要利用了Hibernate这一持久层框架来处理数据库操作。在这个项目中,开发环境选择了Eclipse作为IDE,Tomcat作为应用服务器,而SQL Server作为数据库...

    基于struts+hibernate的bbs

    【基于Struts+Hibernate的BBS论坛】 在Web开发领域,Struts和Hibernate是两个非常重要的框架,它们分别处理表现层(Presentation Layer)和持久层(Persistence Layer)的问题。Struts是一个MVC(Model-View-...

    Hibernate留言板

    综上所述,这个项目是一个典型的基于Hibernate和Spring框架的学生管理系统。它不仅涉及到了ORM框架的使用,还包含了一定程度上的系统架构设计,如DAO层、Service层的设计,以及关系数据库的实体映射等。通过这些知识...

    基于hibernate3.6的jpa例子

    **基于Hibernate 3.6的JPA例子详解** 在Java世界中,ORM(Object-Relational Mapping)框架如Hibernate已经成为数据库操作的标准工具。本篇将深入探讨如何利用Hibernate 3.6版本进行JPA(Java Persistence API)...

    基于Hibernate的网络成绩管理系统设计与实现

    ### 基于Hibernate的网络成绩管理系统设计与实现 #### 一、引言 随着教育信息化的快速发展,传统的手工管理成绩的方式已经无法满足现代教育的需求。特别是在实施学分制的背景下,学生可以根据个人兴趣和特长自由...

    基于hibernate的baseDao

    **基于Hibernate的BaseDAO** 在Java企业级开发中,数据访问层(DAO,Data Access Object)是连接业务逻辑层和数据库的重要桥梁。BaseDAO是一种通用的设计模式,它封装了Hibernate框架的基本操作,使得业务逻辑层...

    基于Hibernate的博客系统

    【基于Hibernate的博客系统】是一个综合性的项目,它利用了Java技术栈,特别是Hibernate框架,来构建一个功能完善的博客平台。这个系统不仅包含了基础的博客发布、浏览、评论功能,还可能包括用户注册、登录、个人...

    struts+hibernate基于购物车的功能小demo

    本项目"struts+hibernate基于购物车的功能小demo"是一个实用的学习资源,旨在帮助初学者理解并实践这两种技术的结合。 **Struts框架**是MVC(Model-View-Controller)设计模式的一种实现,主要用于控制应用程序的...

    基于hibernate_mysql分页通用源码

    【标题】"基于hibernate_mysql分页通用源码"涉及的关键知识点主要集中在Java Web开发领域,特别是关于ORM框架Hibernate、关系型数据库MySQL、MVC框架Struts2以及分页技术的应用。以下是对这些核心概念的详细解释: ...

    基于Hibernate的文件上传评论

    在基于Hibernate的系统中,文件上传通常涉及到以下几个关键步骤: 1. **实体类设计**:首先,我们需要创建一个表示文件的实体类,包括文件名、文件类型、上传时间、大小等属性。此外,如果要实现评论功能,还需要...

    基于hibernate和struts2的项目源码

    【基于Hibernate和Struts2的项目源码】是Java Web开发中的一个典型示例,它结合了两个重要的框架——Hibernate作为持久层框架,Struts2作为控制层框架,以实现高效、灵活的数据管理和用户交互。这个项目源码提供了一...

    基于hibernate的简单数据库实现

    **基于Hibernate的简单数据库实现** Hibernate是一个开源的对象关系映射(ORM)框架,它为Java开发者提供了方便的数据持久化服务,使得开发人员可以避免编写大量的SQL语句,从而更加专注于业务逻辑。通过Hibernate...

    基于hibernate的jpa

    ### 基于Hibernate的JPA:深入了解Java持久化技术 #### 1. JPA:Java Persistence API概览 JPA(Java Persistence API),作为Sun官方提出的Java持久化规范,其核心目标在于为Java开发人员提供一个高效、统一的...

    基于Hibernate的数据持久层关键技术的研究

    ### 基于Hibernate的数据持久层关键技术的研究 #### 一、引言 随着软件开发的不断进步和技术的发展,越来越多的企业级应用需要高效地管理和访问大量数据。为了更好地满足这一需求,许多开发团队选择了使用ORM...

Global site tag (gtag.js) - Google Analytics