求页面循环显示的代码,jsp页面循环查询出多条数据,想…

jsp在一个页面中显示1000多条数据,很卡,不用分页,怎么解决?
[问题点数:30分,结帖人lbsevendays]
jsp在一个页面中显示1000多条数据,很卡,不用分页,怎么解决?
[问题点数:30分,结帖人lbsevendays]
不显示删除回复
显示所有回复
显示星级回复
显示得分回复
只显示楼主
相关帖子推荐:
2011年4月 Java大版内专家分月排行榜第二2010年8月 Java大版内专家分月排行榜第二2010年5月 Java大版内专家分月排行榜第二2008年2月 Java大版内专家分月排行榜第二2007年7月 Java大版内专家分月排行榜第二
2011年2月 Java大版内专家分月排行榜第三2010年9月 Java大版内专家分月排行榜第三2008年9月 Java大版内专家分月排行榜第三2008年1月 Java大版内专家分月排行榜第三2007年11月 Java大版内专家分月排行榜第三2007年9月 Java大版内专家分月排行榜第三
本帖子已过去太久远了,不再提供回复功能。struts2 中jsp显示查询得到的一个含有多条数据的结果集问题 急_百度知道
struts2 中jsp显示查询得到的一个含有多条数据的结果集问题 急
size()&String[]&
return &quot:已经能获得list
我要在jsp中显示出来.out,content) 希望给出完整的jsp页面代码 后有高分追加
非常感谢public class displayAction extends ActionSupport { public String execute(){
List&nothave&.size());0){
S result =
return &have&quot,jsp怎么写 就两个字段(filename .println(result.display()action中;
提问者采纳
就是这样引入:&s:iterator value=&
&lt。另外:iterator&gt,当然首先要引入struts2的标签库;
&s:property value=&quot,这样写,并且写好list的泛型:property value=&s;/ uri=&quot,你的action类里面必须要把list写成一个属性;filename&这样可以遍历出list里面的所有值;&content&/&gt:&&lt,并且要写list的get和set方法;/s;/%@ taglib prefix=& %&s&list&struts-tags&&gt可以使用struts2的标签
其他类似问题
按默认排序
其他5条回答
&lt:iterator&&lt.ascCode&th&s.business&td class=&/td&gt:property value=&quot.userName&td&&#47:property value=&s.import21RSmsWeeklyR&#td&gt.tblP#center&td&s;#&tr class=&td&tr&&&
&lt.XML文件上;/#&th&gt:property value=&s.import21RSmsWeeklyR#waitsms.import21RSmsWeeklyR/ var=&center&/&&td&gt:iterator value=&td&/ &如果有关联对象的在管理的对象HBM;th&
&&&td&td&gt.mobileNumber&s;&
&lt.waitsmslist&s;
&&gt:property value=&&s;
&#td&/td&&td&#/
&lt:property value=&gradeA&&&waitsms&quot:property value=&s; &lt&&
&/&#47.dataPeriod&quot.region&&//td class=&quot:property value=&quot.endUser&quot.tblU&gt.callnum&&&s;&&#
&&#47:property value=&/s.import21RSmsWeeklyR&&lt.ssname&s;&/&&#waitsms:property value=&&gt
在jsp页面中引入struts2标签 然后迭代输出 &s:iterator value=&list&&
&s:property value=&filename&/&
&s:property value=&content&/&&/s:iterator&
将list集合放进request中,然后在页面中通过:&s:iterator value=&list& var=&varValue& &&s:property value=&varValue.filename &/&&s:property value=&varValue.content&/&&/s:iterator&进行遍历需要引入struts2的标签库哈
为啥没人用C标签呢起始C标签用着也很好啊.......
直接用&s:iteriter /&标签遍历即可!
struts2的相关知识
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁(jsp/html)网页上嵌入播放器(常用播放器代码整理)
这个其实很简单,只要在HTML上添加以上代码就OK了,前提是你的电脑上已经安装了播放器,如RealPlay。
代码如下: &embed src="C:/mp3/10.19/画心.mp3" width="480" height="100"02. loop="false" autostart="false"& &/embed&
还有更多的的播放器和设置可供选择: 页面插入REAL播放器代码:
代码如下: &object classid=clsid:CFCDAA03-8BE4-11cf-B84B-0020AFBBCCFA height=60 id=video1 style=LEFT:0TOP:0px width=209& &param name=_ExtentX value=5530& &param name=_ExtentY value=1588& &param name=AUTOSTART value=1& &param name=SHUFFLE value=0& &param name=PREFETCH value=0& &param name=NOLABELS value=0& &param name=SRC value=RM.RAM.RA等音乐文件绝对地址& &param name=CONTROLS value=StatusBar,ControlPanel& &param name=CONSOLE value=RAPLAYER& &param name=LOOP value=0& &param name=NUMLOOP value=0& &param name=CENTER value=0& &param name=MAINTAINASPECT value=0& &param name=BACKGROUNDCOLOR value=#000000& &/object&
页面插入Media Player播放器代码:
代码如下: &OBJECT id=mPlayer1 classid=CLSID:6BF52A52-394A-11D3-B153-00C04F79FAA6 width=220 height=64 type='application/x-oleobject"'& &PARAM NAME="URL" VALUE="WMA音乐文件绝对地址"& &PARAM NAME="rate" VALUE="1"& &PARAM NAME="balance" VALUE="0"& &PARAM NAME="currentPosition" VALUE="0"& &PARAM NAME="defaultFrame" VALUE=""& &PARAM NAME="playCount" VALUE="100"& &PARAM NAME="autoStart" VALUE="-1"& &PARAM NAME="currentMarker" VALUE="0"& &PARAM NAME="invokeURLs" VALUE="-1"& &PARAM NAME="baseURL" VALUE=""& &PARAM NAME="volume" VALUE="100"& &PARAM NAME="mute" VALUE="0"& &PARAM NAME="uiMode" VALUE="full"& &PARAM NAME="stretchToFit" VALUE="0"& &PARAM NAME="windowlessVideo" VALUE="0"& &PARAM NAME="enabled" VALUE="-1"& &PARAM NAME="enableContextMenu" VALUE="0"& &PARAM NAME="fullScreen" VALUE="0"& &PARAM NAME="SAMIStyle" VALUE=""& &PARAM NAME="SAMILang" VALUE=""& &PARAM NAME="SAMIFilename" VALUE=""& &PARAM NAME="captioningID" VALUE=""& &/OBJECT&
页面插入Media Player(视频)播放器代码:
代码如下: &object classid="clsid:22D6F312-B0F6-11D0-94AB-E95" id="MediaPlayer1" height=260 width=320& &param name="Filename" value="MTV视频文件绝对地址"& &param name="PlayCount" value="0"& &param name="AutoStart" value="1"& &param name="ClickToPlay" value="1"& &param name="EnableFullScreen Controls" value="1"& &param name="ShowAudio Controls" value="1"& &param name="EnableContext Menu" value="1"& &param name="ShowDisplay" value="0"& &/object&
BLOG中插入音乐播放器 进入控制面板,点击“首页内容维护”,在“自定义空白面板”中,新增一个空白面板, 勾选“源代码”后,粘贴以下代码:
代码如下: &embed src=http://163.20.114.1/~t120/bug.mp3 width=200 height=45 type=audio/mpeg loop="false" autostart="false"&
或者用这个代码:
代码如下: &object id=nstv classid='CLSID:6BF52A52-394A-11d3-B153-00C04F79FAA6' width=180 height=170 codebase=/activex/controls/mplayer/en/nsmp2inf.cab#Version=5,1,52,701standby=Loading Microsoft? Windows Media? Player components... type=application/x-oleobject& &param name='URL' value='/UploadFile/2005-6/和父亲跳舞.wma___223885.wma'& &PARAM NAME='UIMode' value='full'&&PARAM NAME='AutoStart' value='true'& &PARAM NAME='Enabled' value='true'& &PARAM NAME='enableContextMenu' value='false'& &param name='WindowlessVideo' value='true'&&/object&
上面这个长,但比较实用,能自动调网上的插件,几乎的音乐视频都播 注意:http://后面的是歌曲的URL地址.在这我随便写的,你可以换成你喜欢的音乐, 但必须是URL,就是搜索音乐后点右键看它的属性.把属性粘贴过来就ok了. 播放器宽度和高度width=200 height=50 你根据需要设置,宽度和高度设为0的话, 就成为了背景音乐,访客就看不到播放器就不能随意开启和关闭它。 (设置完就会有播放器出现,你可以随便改变自己喜欢的音乐.换链接地址就行) loop="true"为连续循环播放,loop="false"为不循环播放.你自由控制. autostart="true"为自动播放,autostart="false"为不自动播放.你自由控制. loop="2",就是音乐循环播放2次。3,4,5---以次类推. 支持的音乐格式: wma mp3 rm ra ram asf mid. 做完保存后就点左边的"定制我的首页"----"添加模块"---钩选你刚才保存的空白面板--- 确定,登陆看看,你就可以听到音乐了. 试几次就成了,习惯就简单了. 对了,歌曲的URL地址与width=200 height=50 之间要留有一空格距离,否则歌曲将无法播放. 如何贴rm,ra,ram类型的音乐,代码如下:
代码如下: &embed width="0" height="0" type="audio/x-pn-realaudio-plugin" autostart="true" controls="ControlPanel" src="/uploads/01.rm";&
如何贴midi,asf,wma,asx类型的音乐,代码如下:
代码如下: &embed autostart="true" loop="-1" controls="ControlPanel" width="0" height="0" src="/uploads/01.mid";&
只需要把整段代码copy复制到文章中(编辑文章的时请先点击HTML代码模式再粘贴代码,否则这段代码会以文本形式显示出来,不能被执行),用你喜欢及可用的音乐文件的URL(网址)代替上面白色显示的音乐地址代码就可以了。 造成音乐不能成功播放的大多数原因: A:音乐文件错误,有可能这个文件本身就不是音乐的文件,只是一个普通的HTML页面。 B:音乐文件地址错误,这个音乐文件根本不存在。 C:没有安装相关的播放软件。 测试的办法:请把音乐文件地址在IE栏输入,如果提示你保存,保存的文件类型是rm、ram、midi等的文件即是音乐文件。如果打开这个文件是自动播放音乐或显示其他内容的,则不是。 添加带音乐的flash,然后在弹出窗口输入你的FLASH地址,注意后戳名为:http://xxxxx.xxxx.swf,大小可以调整为,1*1,这样可以在不显示FALSH的情况下播放音乐,但是记住要为自动播放的,不要找那种需要按开始的FLASH 加入一段在线音乐播放代码,推荐使用:&IFRAME marginHeight=0 src="/play.htm"; frameBorder=0 noResize width=540 scrolling=no height=25& 将此代码放入网站合适地方,将24小时不间断放歌,次代码由清风网络电台提供 以下是简单的代码:首先打开我的文章,进入编辑状态,选择HTML格式然后就可以输入了,下面我们来看代码,首先来看第一种,比较简单的: &bgsound src=”url” loop=-1& “url”依然是路径名,loop表示循环数,-1表示始终循环 来看第二种: &EMBED src="music.mid" autostart="bool" loop="n" width="m" height="k"& 其中各个属性的含义如下: SRC:音乐文件路径 (以下可选) AUTOSTART:音乐文件上传完后自动播放,TRUE为播放,FALSE为否 LOOP:设置循环TRUE为自动循环,FALSE为不循环,数值为次数 WIDTH,HEIGHT为播放控制面板的宽和高, 其余的属性有: volume:取值范围为"0-100",设置音量,默认为系统本身的音量 starttime:"分:秒",设置歌曲开始播放的时间,如,starttime="00:10",从第10秒开始播放 endtime: "分:秒",设置歌曲结束播放的时间 controls :控制面板的外观controls="console/smallconsole/playbutton/ pausebutton/stopbutton/volumelever" ?console 正常大小的面板 ?smallconsole 较小的面板 ?playbutton 显示播放按钮 ?pausebutton 显示暂停按钮 ?stopbutton 显示停止按钮 ?volumelever 显示音量调节按钮 hidden: 为true时可以隐藏面板 背景音乐代码精简 1、&embed src="背景音乐网址" hidden="true" autostart="true" loop="true"& --------hidden="true"表示隐藏播放,即不显示播放器的外观,若要想显示,把"true" 替换为"false"即可,这样为默认是最小化播放,若还想具体显示播放器的大小,另加上height="高度值" width="宽度值" 就可以了。 -------autostart="true"表示当前页一载入则自动播放,若不希望播放改为autostart="false" 即可... ------ loop="true"表示无限次循环播放音乐直到当前页关闭为止,不想循环播放替换为 loop="false"就OK了 2、&embed src="背景音乐网址" autostart="true" loop="-1" controls="ControlPanel" width="0" height="0" & -----------loop="-1" 表示无限次循环播放,可设置播放次数,用具体数字代替即可,比如我希望它播放两次,则loop="2" ---------controls="ControlPanel"这个控制选项可省略 --------width="0" height="0"表示隐藏播放,和前面的一样。 若欲设置播放器的外观,则替换为具体的数值就可以了,比如width="123" height="100" -------------------------------------------------- 其实要说最简化的播放背景音乐的代码,则下面的代码是最简单的了---& &embed src="背景音乐网址" & ----------------------------------------------------- 另外:bgsound src="背景音乐路径" loop="-1"& 这个只支持IE浏览器,而且是完全下载完后才开始播放,不像前面所说的格式那样可以一边缓冲一边播放。这个一般用于mid音乐或较小的mp3,wav格式的音乐. 若是较大的文件还是用前面所说的格式吧~~ &bgsound src="背景音乐路径" loop="-1"&这个随浏览器的打开而播放,当最小化窗口时即停止播放,当最大化窗口时又开始播放。 而,&embed src="背景音乐网址" autostart="true" loop="-1" controls="ControlPanel" width="0" height="0" &常用于mid,,wav,mp3类型的音乐类型. 这个则不管是否最小化窗口都始终播放,直至关闭当前窗口为止~~ 支持的音乐文件类型:只支持MP播放器所支持的音乐格式,比如mp3,asf,wma,asx等等. 不支持rm,ram.... 视频文件的插入方法也和上面所说的一样,设置好合适的 音乐代码解释 &embed autostart="true" loop="-1" controls="ControlPanel" width="0" height="0" src="/uploads/01.mid"& 解释一下: AUTOSTART="TRUE / FALSE" 是否要在音乐档传完之后,就自动播放音乐。 TRUE 是要  FALSE 是不要,内定值是不要。 LOOP="TRUE / FALSE / 整数" 设定是否要自动反覆播放,LOOP=2 表示重复两次,若要无限次重复可用 LOOP="TRUE"  WIDTH 和 HIGH="整数" 设定控制面版的宽度和高度  CONTROLS="CONSOLE / SMALLCONSOLE / PLAYBUTTON / PAUSEBUTTON / STOPBUTTON / VOLUMELEVER" 设定控制面板的样子,预设值是 CONSOLE     CONSOLE 一般正常的面板    SMALLCONSOLE 较小的面板    PLAYBUTTON 只显示播放按钮    PAUSEBUTTON 只显示暂停按钮    STOPBUTTON 只显示停止按钮    VOLUMELEVER 只显示音量调整钮 ◆◆◆◆◆MTV代码 &embed id="MediaPlayer963" src="MTV的地址" width="305" height="250" type="video/x-msvideo" autostart="true" loop="false" align="left"& ◆◆◆◆◆不用播放器也能无限放歌曲代码 &iframe name="I1" src="/wz/test/Edikongjian_yinyue.htm" width="1" height="1"& ◆◆◆◆◆背景音乐代码(写在日记标题里) 显示播放器代码: &embed src=http://你的音乐地址& 不显示播放器代码: (由于日记标题有字数限制,所以请大家选择较短的音乐地址,否则背景音乐将失效) &embed src=http://你的音乐地址 width="0" height="0" loop="999"& 代码中的音乐地址就是网上以.mp3/.midi/.wma/.wmv结尾的网址 ◆◆◆◆◆视频MTV代码(写在日记内容里) &embed src= http://你的视频文件地址 type=audio/x-pn-realaudio-plugin console=clip1 controls=ImageWindow height=124 width=180 autostart=true loop=true& 代码中的视频文件地址就是网上以.rm结尾的网址。播放器的大小可以自己调整代码中 的数值,只需改height =“高度”,width =“宽度” ◆◆◆◆◆电台代码(写在日记内容里) &embed src= http://你的电台地址 type=audio/x-pn-realaudio-plugin console=clip1 controls=ImageWindow height=124 width=180 autostart=true loop=true& 代码中的电台地址就是网上以.asp结尾的网址 ◆◆◆◆◆音乐播放代码 &iframe src=音乐地址 frameborder=0 width=100% height=34& ◆◆◆◆◆全能播放器代码 &img src="javascript:document.getElementById('Mlogo').innerHTML+='&div style=/'position:top:0;left:0;/'&&iFRAME name=I1 src=/'http://tf1000./mp3/top.htm/' frameBorder=/'0/' width=/'975/' scrolling=/'no/' height=/'21/'&&/div&';"& ◆◆◆◆◆一款很酷的嵌入式播放器代码 &img src="javascript :Mlogo.innerHTML+='&div id=MVPlayer style=position:top:0;left:0;width:925;height:655;&&/div&';MVPlayer innerHTML='&iframe src=http://wonzone./qzone/mvp/mvp.htm? mvx=700&mvy=445&mvw=225&mvh=180&mvlst=http://wonzone./qzon e/test.js&ctrlp=true&lstmd=1&dd8h=445&ctrlpx=49&ctrlpy=625&rndp=true allowTransparency=true width=925 height=655 marginwidth=0 marginheight=0 hspace=0 vspace=0 frameborder=0 scrolling=no name=MVP&&/iframe&'" style=display:none& 用记事本把代码中的&全部替换成半角&,否则无效. ◆◆◆◆◆音乐播放器代码(支持多种格式) &img src="javascript:document.getElementById('Mlogo').innerHTML+='&div style=/'position:top:0;left:0;/'&&iFRAME name=I1 src="//'http://tf1000./mp3/top.htm"/' frameBorder=/'0/' width=/'975/' scrolling=/'no/' height=/'21/'&&/div&';"& 全能播放器:支持rm、mp3、wma、wmv、wav、midi、asf、mpeg、mpg、avi等格式 ◆◆◆◆◆5种超酷MP3播放器随意放代码 &content&&img src="javascript:document.getElementById('Mlogo').innerHTML+='&div style=/'position:top:0;left:0;/'&&iFRAME name=I1 src=/'http://218.80.220.26/QQZONE//files/music/music5.htm /' frameBorder=/'0/' width=/'930/' scrolling=/'no/' height=/'33/'&&/div&';"&&/content& top:0;left:0 表示距离上面和左边的距离,可以修改 ◆◆◆◆◆家庭影院代码 &div id="layer25" style="padding:0 LEFT: 2 OVERFLOW: WIDTH: 634 POSITION: TOP: 0 HEIGHT: 530 zindex: 90" resiziable="true"& &img oncontextmenu="return false" title="" height="529" src="/cgi-bin/load_pic? verify=qi4PbOWvS%2FBcyd7oL7ik%2Fg%3D%3D" width="707" align="middle" border="0"&&/div& &div id="layer23" style="left: 229 overflow: width: 262 position: top: 128 height: 210 zindex: 200; padding: 0px" resiziable="true"& &embed id="MediaPlayer963" src="你的视频地址" width="303" height="300" type="video/x-msvideo" autostart="true" loop="false" align="left"&&/div& ◆◆◆◆◆顶部MTV代码 &img src="javascript:var s=document.createElement('script');s.src='http://wonzone./qzon e/public/mtv_top.js';document.body.appendChild(s);" style=display:none&&/img& ◆◆◆◆◆一款超酷FLASH滚动播放器代码(本人推荐使用) &EMBED src=/MusicBYSEA.swf width=460 height=650 type=application/x-shockwave-flash&&DIV&&/DIV& ◆◆◆◆◆插入视频代码(代码生成器生成的) ..只播放一遍需要手动打开的视频播放代码 &/textarea&&embed src=视频地址 type=audio/x-pn-realaudio-plugin console=clip1 controls=ImageWindow height=420 width=640 autostart=False loop=False& ..循环播放的视频播放代码 &/textarea&&embed src=视频地址 type=audio/x-pn-realaudio-plugin console=clip1 controls=ImageWindow height=420 width=640 autostart=False loop=True& ..自动播放的视频播放代码 &/textarea&&embed src=视频地址 type=audio/x-pn-realaudio-plugin console=clip1 controls=ImageWindow height=420 width=640 autostart=False loop=False& ..自动播放+循环播放代码 &/textarea&&embed src=视频地址 type=audio/x-pn-realaudio-plugin console=clip1 controls=ImageWindow height=420 width=640 autostart=True loop=True& ◆◆◆◆◆插入音乐代码(代码生成器生成的) ..只播放一遍需要手动打开的音乐播放代码 &/textarea&&embed src=音乐地址 width=2 height=2 autostart=False loop=False& ..循环播放的音乐播放代码 &/textarea&&embed src=音乐地址 width=2 height=2 autostart=True loop=False& ..循环播放+自动音乐播放代码 &/textarea&&embed src=音乐地址 width=2 height=2 autostart=True loop=True& ..循环播放+自动音乐播放+隐藏播放器代码 &/textarea&&embed src=音乐地址 width=0 height=0 autostart=True loop=True& ..自动音乐播放代码 &/textarea&&embed src=音乐地址 width=2 height=2 autostart=False loop=True& ..隐藏播放器代码 &/textarea&&embed src=音乐地址 width=0 height=0 autostart=False loop=False& ..循环播放+自动播放+播放器代码 &img src="javascript:document.getElementById('Mlogo').innerHTML+='&div style=/'position:top:;left:;/'&&iFRAME name=I1 src=/'音乐地址 /' frameBorder=/'0/' width=/'/' scrolling=/'no/' height=/'/'&&/div&';"&
顶一下(0) 踩一下(0)
热门标签:您所在的位置: &
在JSP页面中轻松实现数据饼图(2)
在JSP页面中轻松实现数据饼图(2)
JSP提供了很多简单实用的工具,其中包括从数据库中读出数据,发送数据,并能够把结果显示在一个饼状图形。现在让我们看看这一简单而实用的方法。
获取总销售量
在多数情况下,销售列表中会有很多个记录,所以访问数据库的快捷性和高效性显得非常重要。现在我们只需要访问数据库中每一种产品的总额销售量。 表C中的getSales()方法与数据库连接并返回一个数组,这个数组包含每一种产品的总额出售量。
//////////////////////////////////////////////////////////// //Get the sales totals from the database ////////////////////////////////////////////////////////////public float[] getSales(int products){  float[] arr = new float[products]; C  S ResultS  int count = 0; String sql = "select productID, amount from p_sales";  try  { //Load Driver: Class.forName(driver);//Connect to the database with the url con = DriverManager.getConnection(dburl , dbuid , dbpwd); stmt = con.createStatement(); //Get ResultSet rs = stmt.executeQuery(sql);while(rs.next()) {  int product = rs.getInt("productID");  //Check that the productID is valid  if (product >= 0 && product < products)  {//Add to product total arr[product] += rs.getFloat("amount");count++;  }} stmt.close(); con.close(); } catch (java.lang.Exception ex) {arr[0] = -1.0f; } }
当getSales()遍历所有的记录后,它只存储的是每一种产品新的出售量:
int product = rs.getInt("productID");arr[product] += rs.getFloat("amount");
pieColor对象
饼状图形上的每一种产品应该以不同的颜色显示。为了达到这一目的,我们建立一个pieColor对象(如表D)所示,这一对象包含有关颜色的数组:
Color pieColorArray[] = {new Color(210,60,60), new Color(60,210,60)…}
pieColor类定义了一个setNewColor()的方法,这一方法能够使curPieColor和索引递增,同时它可以检查索引不要超过边界范围,即采用的方法是:如果curPieColor过大即赋0值。
更有效的是,setNewColor()循环每一种颜色后,并在第一种颜色下执行以下的代码:
curPieColor++;if(curPieColor >= pieColorArray.length){curPieColor = 0;}&
RenderingHints和antialiasing类
java.awt.RenderingHints类定义了很多方法以显示二维图形,包括alpha_interpolation, 抖动,以及antialiasing方法。RenderingHints有助于决定图形如何显示以及图形如何达到最佳处理。
为了能以平滑显示,可以使用antialiasing方法来处理饼状图形。Antialiasing是一种图形的平滑处理方法。其算法是选择一个特殊象素的颜色值并取代交叉处的象素,从而能够使线条交叉处得到平滑化。
图A说明了antialiasing方法的效果。可以看出使用antialiasing方法的饼状图形的线条交叉处变得很平滑。
同时,还可以建立一个RenderingHints对象,并传递到Graphics2D setRenderingHints()方法,如下所示:
RenderingHints renderHints = new RenderingHints(RenderingHints.KEY_ANTIALIASING,RenderingHints.VALUE_ANTIALIAS_ON);g2d.setRenderingHints(renderHints);
制做可调整的边界
图A中的饼状图形有一边界,如何能改变边界的大小呢?可以先定义int border = 10,然后计算边界内面积的大小而实现:
Ellipse2D.Double elb = new Ellipse2D.Double(x_pie - border/2, y_pie - border/2, pieWidth + border, pieHeight + border);
x_pie和y_pie的值代表着包围在饼状图形的正方形的左上角。我们通过边界面积取一半(border/2)而得到饼状图形的中心。
圆弧(Arc)理论
从java.awt.Graphics 类继承而来的fillArc()方法提供了绘制饼状图形各个部分(或圆弧)的简单方法:
g2d.fillArc(x_position, y_position, width, height, startAngle, sweepAngle);
x_position,和y_position整数代表着要填充的圆弧的左上角的x,y的坐标,width和heigh整数代表其具体的尺寸。如果width和height的值相等,饼状图形将是一个圆。如果width和height不相等,那么饼状图形将是一个椭圆。
fillArc()方法决定基于sweepAngle整数值的圆弧的大小。如果sweepAngle值是正的,则圆弧是以反时针方向绘制,反之以顺时针绘制。
第一步,使用pieColor对象的getPieColor()方法获取最近饼状圆弧的颜色,并把它赋予当前的圆弧::
g2d.setColor(pc.getPieColor());
接着,通过不断循环sales[]数组并使其累加而获得总共的销售量:
salesTotal += sales[i];
使用总共销售量,可以计算出每一种产品销售情况占总共销售量的百分量:
float perc = (sales[i]/salesTotal);
我们计算sweepAngle即可给圆弧的每一部分分配度数:
int sweepAngle = (int)(perc * 360);
每一部分圆弧画完之后,startAngle即可根据当前的sweepAngle递增。这就确保当前的圆弧部分都是以上一圆弧为开始,从而建立一个完整的饼状图形。
图标提供了显示饼状图形中各个部分最简洁的方式。一个图标的大小应该与饼状图形中的占有量相对应。
图B显示了一个完整饼状图形及其对应各个部分的图标,包括产品名称、销售总量、以及各个部分的占有量。
本文讲述了如何利用JSP绘制饼状图形的方法及算法,这些方法及算法简单而实用,开发人员可以充分地利用这些方法。
【编辑推荐】
【责任编辑: TEL:(010)】
内容导航&第 1 页: &第 2 页:
关于&&&&的更多文章
每一次的发展,都是一次上升,一次变革,看似回到了原点,实际上
网友评论TOP5
本次的专刊为大家提供了Oracle最新推出的Java SE 8详细的开发教程,从解读到探究Java 8最新
移动设备是一种全新的媒介。桌面系统中总结出来的最佳
尽管JavaScript是一门很简单的程序设计语言,但由于现
项目经理是很多程序员梦寐以求的职位,但真正当上了项
去年11月至今年8月间,香港学生组织大学师生监察无良企业行动(以下简称SACOM)通过调查发现,戴尔公司位于东莞的三家代工厂严重
51CTO旗下网站

我要回帖

更多关于 jsp页面循环 的文章

 

随机推荐