欢迎光临
我们一直在努力

怎么把查询参数传给分页的类-JSP教程,Jsp/Servlet

建站超值云服务器,限时71元/月

//和sonymusic得两个类放在一个包里

//pagequery.java

package pagequery;

import java.sql.*;

import javax.servlet.*;

import javax.servlet.http.*;

import java.util.*;

import db.dbconfig;

public class pagequery {

//private string sql;

//private connection conn;

//返回当前页号

private int curpage;

//返回分页大小

private int pagesize;

//返回总页数

private int pagecount;

//返回当前页的记录条数

private int pagerowscount;

//返回总记录行数

private int rowscountget;

//返回文件路径

private string filepath;

//返回传入参数

private map map=new hashmap();

public pagequery()

{

}

/*

public void setcurpage(int curpage) {

this.curpage = curpage;

}

public int getcurpage() {

return curpage;

}

public void setpagesize(int pagesize) {

this.pagesize = pagesize;

}

public int getpagesize() {

return pagesize;

}

*/

public int getpagerowscount() {

return pagerowscount;

}

public void setquery(string key,string value)

{

map.put(key,value);

}

public void setmap(httpservletrequest req){

enumeration parameternames=req.getparameternames();

while (parameternames.hasmoreelements())

{

string name=(string) parameternames.nextelement();

string values[]=req.getparametervalues(name);

//for(int i=0;i<values.length;i++){

string value=values[0];

if (name.equals("curpage")||name.equals("pagesize")||name.equals("submit")||name.equals("submit")||value==null||value.length()==0)

{}

else{

map.put(name,value);

}

}

}

public string getsqlquery(){

if (map.isempty())

{

return "";

}

else

{

stringbuffer strb = new stringbuffer(" where 1=1 ");

iterator imap=map.entryset().iterator();

while(imap.hasnext())

{strb.append( "and " );

map.entry entry=(map.entry)imap.next();

string key=(string)entry.getkey();

try {

int value=integer.parseint((string)entry.getvalue());

strb.append( key );

strb.append( " =" );

strb.append( value );

strb.append( " " );

}

catch (numberformatexception e){

e.printstacktrace();

string value=(string)entry.getvalue();

strb.append( key );

strb.append( " like%" );

strb.append( value );

strb.append( "% " );

}

}

return strb.tostring();

}

}

public resultset myquery(connection conn,string sql, httpservletrequest req) throws exception {

return myquery( conn, sql, req,15);

}

public resultset myquery(connection conn,string sql, httpservletrequest req ,int ps) throws exception {

//this.conn=conn;

//this.sql=query;

preparedstatement pstmt=null;

try {

pstmt = conn.preparestatement(sql);

resultset rset = pstmt.executequery();

pageable rs=null;

rs=new pageableresultset2(rset);//构造一个pageable

this.rowscountget=rs.getrowscount();

try{

curpage=integer.parseint(req.getparameter("curpage"));}

catch (exception e) { curpage=1;

}

try{

pagesize=integer.parseint(req.getparameter("pagesize"));

}

catch (exception e) {

// e.printstacktrace();

pagesize=ps;

}

pagesize=pagesize>rowscountget?rowscountget:pagesize;

rs.setpagesize(pagesize);//每页n个记录

rs.gotopage(curpage);//跳转到第n页

this.pagecount=rs.getpagecount();

this.pagerowscount=rs.getpagerowscount();

this.filepath=req.getrequesturi();

/*

for(int i=0; i<pagerowscount; i++){//循环处理

content.append(rs.getstring(1));

content.append(" ");

content.append(rs.getstring(2));

content.append("<br>");

rs.next();

}

*/

return rs;

}

catch (exception e)

{

return null;

}

}

public string javascript(){

stringbuffer javascript = new stringbuffer("");

javascript.append(" <script language=javascript>\n");

javascript.append("function viewpage(ipage){\n");

javascript.append("document.asdffsdsdffdgfgfgf.curpage.value=ipage;\n");

javascript.append("document.asdffsdsdffdgfgfgf.submit();\n");

javascript.append(" } </script>\n");

return javascript.tostring();

}

public string pagelegend(){

stringbuffer strb = new stringbuffer("");

strb.append("<form name=asdffsdsdffdgfgfgf method=post action="+filepath+">");

strb.append( "本页");

strb.append(pagerowscount);

strb.append( "条记录 共" + rowscountget + "条记录 ");

if(pagecount==0||curpage==1){

strb.append( " 首页 ");

strb.append( " 前页 ");}

else {

strb.append( "\n<a href=javascript:viewpage(1)>首页</a> ");

strb.append( " \n<a href=javascript:viewpage(" + (curpage-1)+")>前页</a> ");}

if(curpage==1||pagecount==curpage){

strb.append( " 后页 ");

strb.append( " 尾页 ");}

else

{

strb.append( " \n<a href=javascript:viewpage(" + (curpage+1)+")>后页</a> ");

strb.append( " \n<a href=javascript:viewpage(" + (pagecount)+")>尾页</a>");

}

strb.append( " 页次:" + curpage + "/" + pagecount + "页 ");

strb.append( "\n<input name=pagesize type=text size=2 value="+pagesize+">" + "条/页 " );

strb.append("\n<select name=curpage>\n");

for (int i=1;i<=pagecount;i++){

//if (i==curpage)

// strb.append("<option value="+i+" selected>"+i+"</option>\n");

// else

strb.append("<option value="+i+">"+i+"</option>\n");

}

strb.append("</select>");

if (!map.isempty()){

iterator imap=map.entryset().iterator();

while(imap.hasnext())

{

map.entry entry=(map.entry)imap.next();

string key=(string)entry.getkey();

string value=(string)entry.getvalue();

strb.append("<input type=\"hidden\" name=\"");

strb.append(key);

strb.append("\" value=\"");

strb.append(value);

strb.append("\">\n");

}}

strb.append("页 <input type=button name=submit value=go language=javascript onclick=viewpage(document.asdffsdsdffdgfgfgf.curpage.value)></form>");

return strb.tostring();

}

}

//getparameter.java

package pagequery;

import java.sql.*;

import java.util.*;

import javax.servlet.*;

import javax.servlet.http.*;

public class getparameter {

private map map=new hashmap();

public getparameter(){};

public string getmap(httpservletrequest req){

enumeration parameternames=req.getparameternames();

while (parameternames.hasmoreelements())

{

string name=(string) parameternames.nextelement();

string values[]=req.getparametervalues(name);

//for(int i=0;i<values.length;i++){

string value=values[0];

if (name.equals("curpage")||name.equals("pagesize")||name.equals("submit")||name.equals("submit")||value==null||value.length()==0)

{}

else{

map.put(name,value);

}

// }

}

if (map.isempty())

{

return "";

}

else

{

stringbuffer strb = new stringbuffer(" where 1=1 ");

iterator imap=map.entryset().iterator();

while(imap.hasnext())

{strb.append( "and " );

map.entry entry=(map.entry)imap.next();

string key=(string)entry.getkey();

try {

int value=integer.parseint((string)entry.getvalue());

strb.append( key );

strb.append( " =" );

strb.append( value );

strb.append( " " );

}

catch (numberformatexception e){

e.printstacktrace();

string value=(string)entry.getvalue();

strb.append( key );

strb.append( " like%" );

strb.append( value );

strb.append( "% " );

}

}

return strb.tostring();

}

}

}

//news.jsp

<%@include file="loginforce.jsp"%>

<%@ page contenttype="text/html; charset=gb2312" %>

<%@ page import="java.sql.*,parameter.*" %>

<jsp:usebean id="pagequery" class="pagequery.pagequery" scope="page"/>

<%–jsp:usebean id="getparameter" class="pagequery.getparameter" scope="page"/–%>

<jsp:usebean id="dbconfig" class="db.dbconfig" scope="page"/>

<html>

<head>

<title>新闻管理</title>

<meta http-equiv="content-type" content="text/html; charset=gb2312">

<link rel="stylesheet" href="/css/gccss.css" type="text/css">

<script language="javascript">

function checkall(curelement)

{

var stable = curelement.parentelement.parentelement.parentelement.parentelement;

if(curelement.checked){

for(var i=1;i<stable.rows.length;i++){

stable.rows(i).children[0].children[0].checked=true;

}

}else{

for(var i=1;i<stable.rows.length;i++){

stable.rows(i).children[0].children[0].checked=false;

}

}

}

function newbigwindow(url, windowname)

{

window.open(url, windowname, "width=800,height=600,left=100,top=0,scrollbars=yes,resizeable=yes");

}

function ischecked(){

for (var i=0;i<document.forms[0].elements.length;i++){

var e = document.forms[0].elements[i];

if (e.name == items)

if(e.checked) return true;

}

return false;

}

function dodel(){

if(ischecked()){

if(confirm("确定删除?")){

document.forms[0].submit();

return true;

}

return false;

}

return false;

}

</script>

</head>

<body>

<br>

<center><span class=head>新闻管理</span></center>

<br>

<form name=main_form method=post action="newsdelete.jsp">

<table width="95%" border="0" cellspacing="2" cellpadding="2" align="center" class="table_a">

<tr class="title">

<td width="5%" align="center"><input type="checkbox" name="checkbox" value="checkbox" onclick="checkall(this)"></td>

<td width="5%" align="center">修 改</td>

<td width="10%">类型</td>

<td width="50%">标题</td>

<td width="15%">发布日期</td>

<td width="7%">是否推荐</td>

<td width="8%">点击数</td>

<%

// dbconfig dbconfig;

connection conn;

//dbconfig=new dbconfig();

conn=dbconfig.getconnect();

parameterparser parser = new parameterparser(request);

string _types=parser.getstringparameter("types","");

if (_types.length()==0)

{

_types="1=1";

}

else

{

_types=" types ="+_types ;

}

string _hot=parser.getstringparameter("hot","");

if (_hot.length()==0)

{

_hot="1=1";

}

else

{

_hot=" hot ="+_hot ;

}

string _title=parser.getstringparameter("title","");

if (_title.length()==0)

{

_title="1=1";

}

else

{

_title=" title like %"+_title+"%" ;

}

pagequery.setmap(request);

//string ds=getparameter.getmap(request);

//string ds=pagequery.getsqlquery();

string sql="select id,types,title,news_date,hot,count from news where "+_types+" and "+_title+" and " +_hot+ " order by id desc";

out.println(sql);

//out.println("<br>");

//stringbuffer content = new stringbuffer("");

resultset rs;

rs=pagequery.myquery(conn,sql,request,4);

//pagequery.setquery("types",parser.getstringparameter("types", ""));

int pagerowscount=pagequery.getpagerowscount();

int t=0;string tt="t2";

for(int i=0; i<pagerowscount; i++){//循环处理

t++;

int id=rs.getint(1);

string types=rs.getstring(2);

string title=rs.getstring(3);

string news_date=rs.getstring(4);

int hot=rs.getint(5);

int count=rs.getint(6);

string hot_to_str;

switch (hot){

case 0:hot_to_str="否"; break;

case 1:hot_to_str="是"; break;

default:hot_to_str="否";}

tt=t%2==0?"t2":"t1";

//content.append(rs.getstring(1));

//content.append(" ");

//content.append(rs.getstring(2));

//content.append("<br>");

%>

<tr class="<%=tt%>">

<td align="center"><input type="checkbox" name="items" value="<%=id%>"></td>

<td align="center"><a href="newsmod.jsp?id=<%=id%>">修改</a></td>

<td><%=types%></td>

<td><a href="javascript:newbigwindow(newsshow.jsp?id=<%=id%>,_blank)" title="查看详细"><%=title%></a></td>

<td><%=news_date%></td>

<td><%=hot_to_str%></td>

<td><%=count%></td>

</tr>

<%

rs.next();

}

conn.close();

%>

</table></form>

<hr noshade size="1">

<table width="95%" border="0" cellspacing="0" cellpadding="0">

<tr>

<td> <div align="right"><%out.println(pagequery.pagelegend());

out.println(pagequery.javascript());%>

</div></td>

</tr>

</table>

<%

//out.println(content.tostring());

//resultsetmetadata resultsmeta=rs.getmetadata();

//int columns=resultsmeta.getcolumncount();

// out.println("<br>");

//out.println(columns);

%>

<br>

<div align="center">

<input type="button" name="createnew" value="增 加" onclick="location.href=newsadd.jsp">

<input type="button" name="del" value="删 除" onclick="return dodel();">

</div>

<br>

<br>

<div>

<form name="main_form" method="post" action="news.jsp">

<table width="60%" border="0" cellspacing="2" cellpadding="2" class="table_a" align="center">

<tr class="title">

<td colspan="4"> 请选择查询条件</td>

</tr>

<tr><td with="20" class="t1"><div align="center">类 型</div></td>

<td class="t2">

<select name="types">

<option value="">忽略</option>

<option value="1">1</option>

</select>

</td>

</tr>

<tr>

<td width="20%" class="t1">

<div align="center">是否推荐</div>

</td>

<td class="t2">

<select name="hot">

<option value="">忽略</option>

<option value="1">否</option>

<option value="2">是</option>

</td>

</tr>

</tr>

<tr>

<td width="20%" class="t1">

<div align="center">标 题</div>

</td>

<td class="t2">

<input type="text" name="title" size=37 value="">

</td>

</tr>

</table><br>

<div align="center"><input type="submit" name="query" value="查询"></div>

</form>

</div>

</body>

</html>

赞(0)
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com 特别注意:本站所有转载文章言论不代表本站观点! 本站所提供的图片等素材,版权归原作者所有,如需使用,请与原作者联系。未经允许不得转载:IDC资讯中心 » 怎么把查询参数传给分页的类-JSP教程,Jsp/Servlet
分享到: 更多 (0)

相关推荐

  • 暂无文章