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

posted @ 2013-01-24 16:18  那些年的事儿  阅读(742)  评论(0编辑  收藏  举报