zoukankan      html  css  js  c++  java
  • JSP分页,实体增、删、改、查(将查询结果全部返回,然后分页,适合小数据量)

    1. 问题

    做一个通用的增加、修改、查询、删除实体模块,主要是包含分页功能。用JSP实现。

    2. 样式

    3. 解决

    下面是JSP列表分页页面代码,此代码不能通用,需要做出自己的修改后才能使用。

    <%@ page contentType="text/html; charset=UTF-8"%>
    <%@page import="java.util.*,
        java.util.regex.Matcher,
        java.util.regex.Pattern,
        cn.jingdu.solr.Config"%>
    <%
        // 查询参数
        request.setCharacterEncoding("UTF-8");
        String word = request.getParameter("word");
        if("请输入要查询的关键词……".equals(word)) {
            word = null;
        }
        
        // 如果有查询参数,需要对List做一下处理
        List<String> negativeList = Config.getNegativeWords();
        if(word != null && !"".equals(word)) {
            Pattern pattern = Pattern.compile(word);
            List<String> tempList = new ArrayList<String>();
            for(String str: negativeList) {
                Matcher matcher = pattern.matcher(str);
                if(matcher.find()) {
                    // 符合的输出
                    tempList.add(str);
                }          
            }
            negativeList = tempList;
        }
        
        // 每页显示记录数
        int pageSize = 12;
        // 总页数
        int totalPages = negativeList.size()/pageSize; 
        // 总页数取整
        if(negativeList.size() > totalPages*pageSize) totalPages++; 
    %>
    <HTML>
    <HEAD>
    <LINK rel="stylesheet" type="text/css" href="../css/list.css">
    <SCRIPT type="text/javascript" src="../js/common.js"></SCRIPT>
    <SCRIPT type="text/javascript" src="../js/page.js"></SCRIPT>
    <SCRIPT language="JavaScript">
    // 单击高亮代码    
    function setCurrent(obj)
    {
        var parent = obj.parentNode;
        for (var i = 0; i < parent.childNodes.length; i++) 
        {                 
            parent.childNodes[i].className = "ltby";
        }
        obj.className = "ltbysd";
    }
    // 修改
    function updateEntity(word)
    {
       js_callpage("negative.jsp?actionType=update&word=" + word,"_blank",300,50,300,300);
    }
    // 删除
    function deleteEntity(word)
    {
       if(!confirm("您确认删除[" + word + "]吗?")) {
           return false;
       }
    
       js_callpage("negativeAction.jsp?actionType=delete&old_word=" + word,"_blank",300,50,300,300);
    }
    // 刷新查询,在修改、删除操作完成后调用
    function refreshQuery(){
        parent.refreshQuery();
    }
    </SCRIPT>
    </HEAD>
    <BODY onload="firstPage();">
    <DIV style="position:absolute;left:0px; top:0px;">
        <TABLE width='100%' align='center' cellspacing='0' cellpadding='0'>
            <TR>
                <TD>
    <%
            if(negativeList.size() > 0){
                for(int j=0; j<totalPages; j++){
                    %>
                    <DIV id='page<%=(j+1)%>' style='display:none;'>
                        <TABLE border="0" class='ltb' cellpadding="0" cellspacing="1" width="100%">
                            <TR class='lthd'>
                                <TD width="20%" align="center" class='lthdtd'>序号</TD>
                                <TD width="50%" align="center" class='lthdtd'>负面关键词</TD>
                                <TD width="10%" align="center" class='lthdtd'>编辑</TD>
                                <TD width="10%" align="center" class='lthdtd'>删除</TD>
                            </TR>
                            <%
                    for(int i = j*pageSize; i < (j+1)*pageSize && i < negativeList.size(); i++){
                        String bgcolor=(i%2 == 0 )?"#FFFFFF":"#f0f0f0";
                        %>
                            <TR class='ltby' onClick="setCurrent(this)">
                                <TD align="center" class='ltbytd'><%=(i+1)%></TD>
                                <TD align="left" class='ltbytd'><%=negativeList.get(i)%></TD>
                                <TD align="center" class='ltbytd'><A href="javascript: void updateEntity('<%=negativeList.get(i)%>');" title="编辑[<%=negativeList.get(i)%>]关键词"><IMG border="0" src="../images/edit.gif" width="10" height="10"></A> </TD>
                                <TD align="center" class='ltbytd'><A href="javascript: void deleteEntity('<%=negativeList.get(i)%>');" title="删除[<%=negativeList.get(i)%>]关键词"><IMG border="0" src="../images/delete.gif" width="10" height="10"></A></TD>
                            </TR>
                            <%
                    }
    %>
                        </TABLE>
                    </DIV>
    <%
                }
            }else{
    %>
                    <TABLE width="100%" align='left' cellspacing='1' class='ltb'>
                        <TR class='lthd'>
                            <TD width="20%" align="center" class='lthdtd'>序号</TD>
                            <TD width="50%" align="center" class='lthdtd'>负面关键词</TD>
                            <TD width="10%" align="center" class='lthdtd'>编辑</TD>
                            <TD width="10%" align="center" class='lthdtd'>删除</TD>
                        </TR>
                        <TR class='ltby'>
                            <TD colspan='4' align='center' class='warning'><FONT style="COLOR:red; FONT-SIZE:9pt">没有数据</FONT> </TD>
                        </TR>
                    </TABLE>
                    <%
            }
    %>
                </TD>
            </TR>
            <TR>
                <TD align="right">
                    <DIV class="manu">
                        <SPAN id="prev"></SPAN>
    <%
            if(totalPages >= 1) {
                for(int i=1; i<=totalPages; i++) {
                    out.println("<SPAN id=\"toPage" + i + "\"><A href=\"javascript: toAnyPage(" + i + ");\">" + i + "</A></SPAN>");
                }
            }
    %>        
                        <SPAN id="next"></SPAN>
                    </DIV>
                </TD>
            </TR>
        </TABLE>
        <INPUT type="hidden" name="totalPages" value="<%=totalPages%>">
        <INPUT type="hidden" name="curPage" value="1">
        <INPUT type="hidden" name="lastPage" value="0">
    </DIV>
    </BODY>
    </HTML>

    4. 完整代码参考

    https://files.cnblogs.com/nayitian/list.zip

  • 相关阅读:
    可视化地图(从省级下钻到市级)
    全国疫情统计可视化地图
    |和||、&&和&
    MFC 常见问题
    * 和-> 优先级
    MFC控件CTabCtrl关联变量
    C++ #include—尖括号和双引号的区别
    C++类型转换
    VC++生成不同的随机数
    VS 2008 头文件库文件设置
  • 原文地址:https://www.cnblogs.com/nayitian/p/2875211.html
Copyright © 2011-2022 走看看