JSP初级教程之跟我学JSP(六)(2)_JSP教程

编辑Tag赚U币
教程Tag:暂无Tag,欢迎添加,赚取U币!

推荐:JSP初级教程之跟我学JSP(五)
第五章 jsp 分页功能的实现 经过上面的学习我渐渐熟悉了对 数据库 的操作,留言板的功能也不断的完善,随着留言的增加信息的目录越来越长了,现在需要实现一个分页功能了,我尝试自己解决这个问题。 1、我应该把它的关键部分封装成一个bean,使它尽可能的能


//得到代表数值的柱的各自高度,实际数值*columnMaxHeight/max
int columnWidth[]=new int[num];//不定长,柱的长度
for (int k=0;k<num;k++)
columnWidth[k]=(Datas[k]*columnMaxWidth)/max;//取整

frameSecondHeight=(sp+columnHeight)*num+10;//+10为了留出一块底边
imageHeight=frameSecondHeight+frameFirstHeight+frameSpace+10;//多加10为了画阴影

PictureBean chartGraphics = new PictureBean();
chartGraphics.image = new BufferedImage(imageWidth, imageHeight, BufferedImage.TYPE_INT_RGB); 
Graphics g = chartGraphics.image.getGraphics();
g.setColor(Color.white);
g.fillRect(0,0,imageWidth,imageHeight);//用白色涂整个图
Color frameFirstColor = new Color(20,50,100);
Color columnColor = new Color(153,19,19);
Color shadowColor = new Color(200,200,200);
g.setColor(shadowColor);
g.fillRect(0+7,0+7,frameFirstWidth,frameFirstHeight);//阴影在原框基础上移7
g.setColor(Color.white);
g.drawRect(0,0,frameFirstWidth,frameFirstHeight);//画第一个框
g.setColor(frameFirstColor);
g.fillRect(0+1,0+1,frameFirstWidth-1,frameFirstHeight-1);
g.setFont(new Font("仿体", 0 , 14));
g.setColor(Color.white);
g.drawString(Title,10,18);//写字
g.drawString(SStr,300,18);

int frameSecondY=1+frameFirstHeight+frameSpace;
g.setColor(shadowColor);
g.fillRect(0+7,frameSecondY+7,frameSecondWidth,frameSecondHeight);//阴影在原框基础上移7
g.setColor(Color.black);
g.drawRect(0,frameSecondY,frameSecondWidth,frameSecondHeight);//画第二个框
g.setColor(Color.yellow);
g.fillRect(0+1,frameSecondY+1,frameSecondWidth-1,frameSecondHeight-1);//填充第二个框

for(int l=0;l<num;l++)
{
g.setColor(Color.black);
int textY=frameSecondY+20+(sp+columnHeight)*l;
g.drawString(name[l]+"("+datas[l]+")",0+10,textY);//写文字
if (columnWidth[l]!=0)
{
g.setColor(columnColor);
g.drawRect(10,textY+5,columnWidth[l],columnHeight);//画柱的外框//框的上边离文字的底边为5
g.fillRect(10+2,textY+5+2,columnWidth[l]-3,columnHeight-3);//画柱
}
}
chartGraphics.createImage(fileLocation);
}
}
--------------------------------------------------------------------------------
但是接下来出现了一个让我难以忍受的事:自做聪明的浏览器缓存使得页面无法在短时间内更新图片——输入2004,显示了2004的图片,马上再输入2005,可是显示的仍然是2004的图片,但这时硬盘目录下的图片已经是2005的图片了,一般来说两次操作时间间隔大约少于3秒,则总是显示缓存里的那张图。这个问题困扰我很长时间,问了很多人试了很多方法都没有解决了。
很显然上面提到的第二个方法不存在此问题,我决定采用这种方法,所以我不得不回头研究它的代码,之后我发现这几句代码是显示图片的关键,而最下面的三句是和显示图有关的:
---------------------------------------------------------
response.setContentType("image/jpeg");
BufferedImage bi = new BufferedImage(WIDTH, HEIGHT, BufferedImage.TYPE_INT_RGB);
Graphics2D biContext = bi.createGraphics();

…… 

分享:JSP初级教程之跟我学JSP(四)
第四章我的第一个 Javabean 程序 一、先看看如何取当前时间并显示的代码: ------------------------------------------------ % java.text.SimpleDateFormatformatter=newjava.text.SimpleDateFormat(yyyy-MM-ddHH:mm:ss); java.util.DatecurrentTime=ne

来源:模板无忧//所属分类:JSP教程/更新时间:2010-03-10
相关JSP教程