📄 in10_db_page.htm
字号:
<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns="http://www.w3.org/TR/REC-html40">
<head>
<style>
<!--
p.MsoNormal
{mso-style-parent:"";
margin-bottom:.0001pt;
text-align:justify;
text-justify:inter-ideograph;
font-size:10.5pt;
font-family:"Times New Roman";
margin-left:0cm; margin-right:0cm; margin-top:0cm}
-->
</style>
<!--[if !mso]>
<style>
v\:* { behavior: url(#default#VML) }
o\:* { behavior: url(#default#VML) }
.shape { behavior: url(#default#VML) }
</style>
<![endif]-->
<link rel="File-List" href="in10_db_page_files/filelist.xml">
<!--[if gte mso 9]>
<xml><o:shapedefaults v:ext="edit" spidmax="1027"/>
</xml><![endif]-->
</head>
<body>
<p class="MsoNormal" align="center" style="text-align:center"><b>
<span style="font-size: 16.0pt; font-family: 宋体">如何在Struts 数据库应用程序中实现分页显示</span></b></p>
<p class="MsoNormal"><b>
<span lang="EN-US" style="font-size:9.0pt;font-family:宋体"> </span></b></p>
<p class="MsoNormal"><span lang="EN-US"> </span></p>
<p class="MsoNormal"><span lang="EN-US"> </span></p>
<p class="MsoNormal" style="text-indent: 20.65pt"><b>
<span style="font-family: 宋体">重点提示:</span><span style="font-size: 9.0pt; font-family: 宋体">JSPOUT属性页的设置是本例唯一与《如何实现Struts
数据库应用程序》中的步骤不同之处,这是本例的核心内容。我们要做的仅仅是在JSPOUT属性页的设置中把“自动分页”选择项选定并输入每页记录数即可。</span></b></p>
<p class="MsoNormal"><span lang="EN-US"> </span></p>
<p class="MsoNormal"><span lang="EN-US"> </span></p>
<p class="MsoNormal"><b><span lang="EN-US">[</span><span style="font-family: 宋体">目标</span><span lang="EN-US">]</span></b></p>
<p class="MsoNormal" style="text-indent: 21.0pt"><span style="font-family: 宋体">
本例的目标是实现一个具有分页显示功能的</span><span lang="EN-US">Struts </span>
<span style="font-family: 宋体">数据库应用程序。其功能是从</span><span lang="EN-US">SQL</span><span style="font-family: 宋体"> </span><span lang="EN-US">Server
2000</span><span style="font-family: 宋体">中读取数据,并以表格的形式在输出页中显示出来。</span></p>
<p class="MsoNormal"><span style="font-family: 宋体">定义一个名为“</span><span lang="EN-US">Test</span><span style="font-family: 宋体">”表的字段:</span></p>
<p class="MsoNormal" style="text-indent: 21.0pt"><span lang="EN-US"><!--[if gte vml 1]><v:shapetype id="_x0000_t75"
coordsize="21600,21600" o:spt="75" o:preferrelative="t" path="m@4@5l@4@11@9@11@9@5xe"
filled="f" stroked="f">
<v:stroke joinstyle="miter"/>
<v:formulas>
<v:f eqn="if lineDrawn pixelLineWidth 0"/>
<v:f eqn="sum @0 1 0"/>
<v:f eqn="sum 0 0 @1"/>
<v:f eqn="prod @2 1 2"/>
<v:f eqn="prod @3 21600 pixelWidth"/>
<v:f eqn="prod @3 21600 pixelHeight"/>
<v:f eqn="sum @0 0 1"/>
<v:f eqn="prod @6 1 2"/>
<v:f eqn="prod @7 21600 pixelWidth"/>
<v:f eqn="sum @8 21600 0"/>
<v:f eqn="prod @7 21600 pixelHeight"/>
<v:f eqn="sum @10 21600 0"/>
</v:formulas>
<v:path o:extrusionok="f" gradientshapeok="t" o:connecttype="rect"/>
<o:lock v:ext="edit" aspectratio="t"/>
</v:shapetype><v:shape id="_x0000_s1025" type="#_x0000_t75" style='width:249.75pt;
height:108pt'>
<v:imagedata src="in10_db_page_files/image001.png" o:title=""/>
</v:shape><![endif]--><![if !vml]><img border=0 width=333 height=144
src="in10_db_page_files/image002.jpg" v:shapes="_x0000_s1025"><![endif]></span></p>
<p class="MsoNormal" style="text-indent: 21.0pt"><span style="font-family: 宋体">
录入一些测试数据:</span></p>
<p class="MsoNormal" style="text-indent: 21.0pt"><span lang="EN-US"><!--[if gte vml 1]><v:shape
id="_x0000_s1026" type="#_x0000_t75" style='width:249pt;height:242.25pt'>
<v:imagedata src="in10_db_page_files/image003.png" o:title=""/>
</v:shape><![endif]--><![if !vml]><img border=0 width=332 height=323
src="in10_db_page_files/image004.jpg" v:shapes="_x0000_s1026"><![endif]></span></p>
<p class="MsoNormal"><span lang="EN-US"> </span></p>
<p class="MsoNormal"><b><span lang="EN-US">[</span><span style="font-family: 宋体">效果</span><span lang="EN-US">]</span></b></p>
<p class="MsoNormal"><span style="font-family: 宋体">输入页面</span><span lang="EN-US">(</span><span style="font-family: 宋体">选择“全部显示”</span><span lang="EN-US">)</span><span style="font-family: 宋体">:</span></p>
<p class="MsoNormal" align="center" style="text-align:center">
<span lang="EN-US"><!--[if gte vml 1]><v:shape
id="_x0000_s1027" type="#_x0000_t75" style='width:438pt;height:161.25pt'>
<v:imagedata src="in10_db_page_files/image005.png" o:title=""/>
</v:shape><![endif]--><![if !vml]><img border=0 width=584 height=215
src="in10_db_page_files/image006.jpg" v:shapes="_x0000_s1027"><![endif]></span></p>
<p class="MsoNormal"><span style="font-family: 宋体">输出页面:</span></p>
<p class="MsoNormal"><span lang="EN-US"><!--[if gte vml 1]><v:shape
id="_x0000_s1028" type="#_x0000_t75" style='width:411.75pt;height:232.5pt'>
<v:imagedata src="in10_db_page_files/image007.png" o:title=""/>
</v:shape><![endif]--><![if !vml]><img border=0 width=549 height=310
src="in10_db_page_files/image008.jpg" v:shapes="_x0000_s1028"><![endif]></span></p>
<p class="MsoNormal"><span lang="EN-US"> </span></p>
<p class="MsoNormal"><span style="font-family: 宋体">选择第四页:</span></p>
<p class="MsoNormal"><span lang="EN-US"><!--[if gte vml 1]><v:shape
id="_x0000_s1029" type="#_x0000_t75" style='width:411pt;height:231.75pt'>
<v:imagedata src="in10_db_page_files/image009.png" o:title=""/>
</v:shape><![endif]--><![if !vml]><img border=0 width=548 height=309
src="in10_db_page_files/image010.jpg" v:shapes="_x0000_s1029"><![endif]></span></p>
<p class="MsoNormal"><span lang="EN-US"> </span></p>
<p class="MsoNormal"><b><span lang="EN-US">[</span><span style="font-family: 宋体">背景知识</span><span lang="EN-US">]</span></b></p>
<p class="MsoNormal" style="text-indent: 21.0pt"><span style="font-family: 宋体">
对于Struts的分页显示问题,一般建议不要采用</span><span lang="EN-US"><logic:iterate></span><span style="font-family: 宋体">标签及</span><span lang="EN-US">offset</span><span style="font-family: 宋体">参数来做分页,这样把记录都读取出来太费资源</span><span lang="EN-US">(</span><span style="font-family: 宋体">特别记录多时</span><span lang="EN-US">)</span><span style="font-family: 宋体">,<b>一般采用读取一页显示一页的方法</b>。当然,如果把这两种方法结合起来效果最好,即每次读出</span><span lang="EN-US">5</span><span style="font-family: 宋体">至</span><span lang="EN-US">10</span><span style="font-family: 宋体">页,再用</span><span lang="EN-US"><logic:iterate></span><span style="font-family: 宋体">标签及</span><span lang="EN-US">offset</span><span style="font-family: 宋体">参数来做分页,如果用户请求的页不在已经读出的范围内,则重新从数据库中读取另几页,再用</span><span lang="EN-US"><logic:iterate></span><span style="font-family: 宋体">显示。</span></p>
<p class="MsoNormal" style="text-indent: 21.0pt"><span style="font-family: 宋体">
另外,一般还建议不要采用专用的分页标签,主要是各公司的分页标签标准不一,版本不一,对程序来说也不容易把握。本例是通过在</span><span lang="EN-US">DAO</span><span style="font-family: 宋体">文件中生成一个分页字符串的方法实现的,分页字符串的形式可由程序自由改变。当然,在开发环境:</span><span lang="EN-US" style="color: #333333; letter-spacing: .75pt">Java
Web Studio</span><span style="font-family: 宋体; color: #333333; letter-spacing: .75pt">系列开发环境</span><span lang="EN-US" style="color: #333333; letter-spacing: .75pt">visual
strutst</span><span style="font-family: 宋体; color: #333333; letter-spacing: .75pt">版本中,只需要选择“分页”功能就行了,代码都是自动完成的。</span></p>
<p class="MsoNormal"><span lang="EN-US"> </span></p>
<p class="MsoNormal"><b><span lang="EN-US" style="font-size:14.0pt">[</span><span style="font-size: 14.0pt; font-family: 宋体">步骤</span><span lang="EN-US" style="font-size:14.0pt">]</span></b></p>
<p class="MsoNormal"><b><span style="font-size: 9.0pt; font-family: 宋体">
本例与《如何实现Struts 数据库应用程序》中的步骤相比,除了在</span></b><span lang="EN-US">Struts</span><span style="font-family: 宋体">数据库应用文件向导中</span><b><span style="font-size: 9.0pt; font-family: 宋体">多一个JSPOUT属性页设置之外,其它步骤完全一样,这样相同的步骤详情见《如何实现Struts
数据库应用程序》。</span></b></p>
<p class="MsoNormal"><span lang="EN-US">1</span><span style="font-family: 宋体">、打开</span><span lang="EN-US">Visual
Struts</span><span style="font-family: 宋体">开发环境:</span></p>
<p class="MsoNormal" style="text-indent: 26.25pt"><span style="font-family: 宋体">
从桌面</span><span lang="EN-US">JavaWebStudio</span><span style="font-family: 宋体">快揵或</span><span lang="EN-US">BIN</span><span style="font-family: 宋体">目录下的</span><span lang="EN-US">JavaWebStudio.exe</span><span style="font-family: 宋体">文件启动</span><span lang="EN-US">JavaWebStudio</span><span style="font-family: 宋体">的</span><span lang="EN-US">Visual
Struts</span><span style="font-family: 宋体">开发环境。</span></p>
<p class="MsoNormal"><span lang="EN-US">2</span><span style="font-family: 宋体">、建立一个“空的</span><span lang="EN-US">Struts</span><span style="font-family: 宋体">数据库应用模板”应用程序:</span></p>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -