<?xml version="1.0" encoding="gb2312"?>

<!-- RSS generated by oioj.net on 4/16/2004 ; 感谢LeXRus提供 RSS 2.0 文档; 此文件可自由使用，但请保留此行信息 --> 
<!-- Source download URL: http://blogger.org.cn/blog/rss2.asp       -->
<rss version="2.0">

<channel>
<title>lovesong的博客</title>
<link>http://blogger.org.cn/blog/blog.asp?name=lovesong</link>
<description>lovesong的博客</description>
<copyright>blogger.org.cn</copyright>
<generator>W3CHINA Blog</generator>
<webMaster>webmaster@blogger.org.cn</webMaster>
<item>
<title><![CDATA[dwr(ajax)分页]]></title>
<link>http://blogger.org.cn/blog/more.asp?name=lovesong&amp;id=23851</link>
<author>lovesong</author>
<pubDate>2007/4/9 17:54:27</pubDate>
<description><![CDATA[<P><FONT size=2>DWR(AJAX的一种Java实现)做的分页!!</FONT></P>
<P><FONT size=2>&nbsp;1.以下是dwr的配置</FONT></P>
<P><FONT size=2>(1)在web.xml中配置DWRServlet如下：</FONT></P>
<P><FONT style="BACKGROUND-COLOR: #dddddd" face=Verdana> &lt;servlet&gt;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;servlet-name&gt;dwr-invoker&lt;/servlet-name&gt;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;display-name&gt;DWR Servlet&lt;/display-name&gt;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;description&gt;Direct Web Remoter Servlet&lt;/description&gt;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;servlet-class&gt;uk.ltd.getahead.dwr.DWRServlet&lt;/servlet-class&gt;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;init-param&gt;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;param-name&gt;debug&lt;/param-name&gt;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;param-value&gt;true&lt;/param-value&gt;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/init-param&gt;<BR>&nbsp;&nbsp;&nbsp; &lt;/servlet&gt;</FONT></P>
<P><FONT style="BACKGROUND-COLOR: #dddddd" face=Verdana>&nbsp;&nbsp;&nbsp; &lt;servlet-mapping&gt;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;servlet-name&gt;dwr-invoker&lt;/servlet-name&gt;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;url-pattern&gt;/dwr/*&lt;/url-pattern&gt;<BR>&nbsp;&nbsp;&nbsp; &lt;/servlet-mapping&gt;</FONT></P>
<P><FONT style="BACKGROUND-COLOR: #dddddd" face=Verdana>(2)在dwr.xml中配置</FONT></P>
<P><FONT style="BACKGROUND-COLOR: #dddddd" face=Verdana>&lt;dwr&gt;<BR>&nbsp;&lt;allow&gt;<BR>&nbsp;&nbsp;&lt;create javascript="GetPages" creator="new"&gt;<BR>&nbsp;&nbsp;&nbsp;&lt;param name="class" value="com.GetPages"&gt;&lt;/param&gt;<BR>&nbsp;&nbsp;&lt;/create&gt;<BR>&nbsp;&nbsp;&lt;convert match="com.PageBean" converter="bean"&gt;<BR>&nbsp;&nbsp;&nbsp;&lt;param name="include" value="job_id,job_desc,min_lvl,max_lvl"&gt;&lt;/param&gt;<BR>&nbsp;&nbsp;&lt;/convert&gt;<BR>&nbsp;&lt;/allow&gt;<BR>&lt;/dwr&gt;</FONT></P>
<P><FONT style="BACKGROUND-COLOR: #dddddd" face=Verdana>2.编写PageBean以存放要显示的数据</FONT></P>
<P><FONT style="BACKGROUND-COLOR: #dddddd" face=Verdana></FONT><FONT style="BACKGROUND-COLOR: #dddddd" face=Verdana>&nbsp;private String job_id;<BR>&nbsp;private String job_desc;<BR>&nbsp;private String min_lvl;<BR>&nbsp;private String max_lvl;</FONT></P>
<P><FONT style="BACKGROUND-COLOR: #dddddd" face=Verdana>3.编写getPage类实现分页,代码如下:</FONT></P>
<P><FONT style="BACKGROUND-COLOR: #dddddd" face=Verdana>&nbsp;public int getFirst(int page)<BR>&nbsp;{<BR>&nbsp;&nbsp;pages=page;<BR>&nbsp;&nbsp;return pages;<BR>&nbsp;}<BR>&nbsp;public int getNext(int page)<BR>&nbsp;{<BR>&nbsp;&nbsp;if(page==pageCount)<BR>&nbsp;&nbsp;{<BR>&nbsp;&nbsp;&nbsp;return pageCount;<BR>&nbsp;&nbsp;}else<BR>&nbsp;&nbsp;{<BR>&nbsp;&nbsp;&nbsp;pages=page;<BR>&nbsp;&nbsp;&nbsp;return pages+1;<BR>&nbsp;&nbsp;}<BR>&nbsp;}<BR>&nbsp;public int getUp(int page)<BR>&nbsp;{<BR>&nbsp;&nbsp;if(page==1)<BR>&nbsp;&nbsp;{<BR>&nbsp;&nbsp;&nbsp;return pages;<BR>&nbsp;&nbsp;}else<BR>&nbsp;&nbsp;{<BR>&nbsp;&nbsp;&nbsp;pages=page;<BR>&nbsp;&nbsp;&nbsp;return pages-1;<BR>&nbsp;&nbsp;}<BR>&nbsp;}<BR>&nbsp;public int getLast(int page)<BR>&nbsp;{<BR>&nbsp;&nbsp;return pageCount;<BR>&nbsp;}<BR>&nbsp;public List&lt;PageBean&gt; getJobs(int page)<BR>&nbsp;{<BR>&nbsp;&nbsp;list=new ArrayList&lt;PageBean&gt;();<BR>&nbsp;&nbsp;String sql;<BR>&nbsp;&nbsp;con=connect.getCon();<BR>&nbsp;&nbsp;try {<BR>&nbsp;&nbsp;&nbsp;stm=con.createStatement();<BR>&nbsp;&nbsp;&nbsp;if(page==1)<BR>&nbsp;&nbsp;&nbsp;{<BR>&nbsp;&nbsp;&nbsp;&nbsp;sql="select top 5 * from jobs";<BR>&nbsp;&nbsp;&nbsp;}else<BR>&nbsp;&nbsp;&nbsp;{<BR>&nbsp;&nbsp;&nbsp;&nbsp;sql="select top 5 * from jobs where job_id not in (select top "+5*(page-1)+" job_id from jobs)";<BR>&nbsp;&nbsp;&nbsp;}<BR>&nbsp;&nbsp;&nbsp;rs=stm.executeQuery(sql);<BR>&nbsp;&nbsp;&nbsp;while(rs.next())<BR>&nbsp;&nbsp;&nbsp;{<BR>&nbsp;&nbsp;&nbsp;&nbsp;pb=new PageBean();<BR>&nbsp;&nbsp;&nbsp;&nbsp;pb.setJob_id(rs.getString("job_id").toString());<BR>&nbsp;&nbsp;&nbsp;&nbsp;pb.setJob_desc(rs.getString("job_desc").toString());<BR>&nbsp;&nbsp;&nbsp;&nbsp;pb.setMin_lvl(rs.getString("min_lvl").toString());<BR>&nbsp;&nbsp;&nbsp;&nbsp;pb.setMax_lvl(rs.getString("max_lvl").toString());<BR>&nbsp;&nbsp;&nbsp;&nbsp;list.add(pb);<BR>&nbsp;&nbsp;&nbsp;}<BR>&nbsp;&nbsp;} catch (SQLException e) {<BR>&nbsp;&nbsp;&nbsp;// TODO Auto-generated catch block<BR>&nbsp;&nbsp;&nbsp;e.printStackTrace();<BR>&nbsp;&nbsp;}<BR>&nbsp;&nbsp;return list;<BR>&nbsp;}</FONT></P>
<P><FONT style="BACKGROUND-COLOR: #dddddd" face=Verdana>4.新建个页面调用getPage类中的方法</FONT></P>
<P><FONT style="BACKGROUND-COLOR: #dddddd" face=Verdana></FONT><FONT style="BACKGROUND-COLOR: #dddddd" face=Verdana>&lt;html&gt;<BR>&nbsp; &lt;head&gt;<BR>&nbsp;&nbsp;&lt;script type="text/javascript" src="dwr/util.js"&gt;&lt;/script&gt;<BR>&nbsp;&nbsp;&lt;script type="text/javascript" src="dwr/engine.js"&gt;&lt;/script&gt;<BR>&nbsp;&nbsp;&lt;script type="text/javascript" src="dwr/interface/GetPages.js"&gt;&lt;/script&gt;<BR>&nbsp;&nbsp;&nbsp; &lt;script type="text/javascript"&gt;<BR>&nbsp;&nbsp;&nbsp; &nbsp;var page=1;<BR>&nbsp;&nbsp;&nbsp; &nbsp;<BR>&nbsp;&nbsp;&nbsp; &nbsp;function first()<BR>&nbsp;&nbsp;&nbsp; &nbsp;{<BR>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;GetPages.getFirst(1,callback);<BR>&nbsp;&nbsp;&nbsp; &nbsp;}<BR>&nbsp;&nbsp;&nbsp; &nbsp;function callback(pages)<BR>&nbsp;&nbsp;&nbsp; &nbsp;{<BR>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;page=pages;<BR>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;GetPages.getJobs(pages,process);<BR>&nbsp;&nbsp;&nbsp; &nbsp;}<BR>&nbsp;&nbsp;&nbsp; &nbsp;function next()<BR>&nbsp;&nbsp;&nbsp; &nbsp;{<BR>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;GetPages.getNext(page,callback);<BR>&nbsp;&nbsp;&nbsp; &nbsp;}<BR>&nbsp;&nbsp;&nbsp; &nbsp;function up()<BR>&nbsp;&nbsp;&nbsp; &nbsp;{<BR>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;GetPages.getUp(page,callback);<BR>&nbsp;&nbsp;&nbsp; &nbsp;}<BR>&nbsp;&nbsp;&nbsp; &nbsp;function last()<BR>&nbsp;&nbsp;&nbsp; &nbsp;{<BR>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;GetPages.getLast(page,callback);<BR>&nbsp;&nbsp;&nbsp; &nbsp;}<BR>&nbsp;&nbsp;&nbsp; &nbsp;function process(item)<BR>&nbsp;&nbsp;&nbsp; &nbsp;{<BR>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;DWRUtil.removeAllRows("job");<BR>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;var cell=[<BR>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;function(item){return item.job_id},<BR>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;function(item){return item.job_desc},<BR>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;function(item){return item.min_lvl},<BR>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;function(item){return item.max_lvl}<BR>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;];<BR>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;DWRUtil.addRows("job",item,cell);<BR>&nbsp;&nbsp;&nbsp; &nbsp;}<BR>&nbsp;&nbsp;&nbsp; &nbsp;<BR>&nbsp;&nbsp;&nbsp; &lt;/script&gt;<BR>&nbsp; &lt;/head&gt;<BR>&nbsp; <BR>&nbsp; &lt;body onload="javaScript:first();"&gt;<BR>&nbsp; &lt;table border="1"&gt;<BR>&nbsp; &nbsp;&lt;tbody id="job"&gt;<BR>&nbsp; &nbsp;&nbsp;<BR>&nbsp; &nbsp;&lt;/tbody&gt;<BR>&nbsp; &lt;/table&gt;<BR>&nbsp;&nbsp; &nbsp;&lt;a href="javaScript:first()"&gt;第一页&lt;/a&gt;&amp;nbsp;&amp;nbsp;<BR>&nbsp;&nbsp; &nbsp;&lt;a href="javaScript:up()"&gt;上一页&lt;/a&gt;&amp;nbsp;&amp;nbsp;<BR>&nbsp;&nbsp; &nbsp;&lt;a href="javaScript:next()"&gt;下一页&lt;/a&gt;&amp;nbsp;&amp;nbsp;<BR>&nbsp;&nbsp; &nbsp;&lt;a href="javaScript:last()"&gt;最后一页&lt;/a&gt;&amp;nbsp;&amp;nbsp;<BR>&nbsp; &lt;/body&gt;<BR>&lt;/html&gt;</FONT></P>
<P><FONT style="BACKGROUND-COLOR: #dddddd" face=Verdana>5.输入如下地址:http://localhost:8080/page/</FONT></P>
<P><FONT style="BACKGROUND-COLOR: #dddddd" face=Verdana>效果：</FONT></P>
<P><FONT style="BACKGROUND-COLOR: #dddddd" face=Verdana><IMG style="BORDER-LEFT-COLOR: #000000; BORDER-BOTTOM-COLOR: #000000; BORDER-TOP-COLOR: #000000; BORDER-RIGHT-COLOR: #000000" src="http://blogger.org.cn/blog/uploadfile/200749181536127.BMP" border=0></FONT></P>
<P><FONT style="BACKGROUND-COLOR: #dddddd" face=Verdana>------------</FONT></P>
<P><FONT style="BACKGROUND-COLOR: #dddddd" face=Verdana>学习dwr做的第一个例子</FONT></P>
<P><FONT style="BACKGROUND-COLOR: #dddddd" face=Verdana>------------</P>
<P><BR></P></FONT>]]></description>
</item>
</channel>
</rss>