JSP初级教程之跟我学JSP(六)(4)_JSP教程
教程Tag:暂无Tag,欢迎添加,赚取U币!
推荐:JSP初级教程之跟我学JSP(五)第五章 jsp 分页功能的实现 经过上面的学习我渐渐熟悉了对 数据库 的操作,留言板的功能也不断的完善,随着留言的增加信息的目录越来越长了,现在需要实现一个分页功能了,我尝试自己解决这个问题。 1、我应该把它的关键部分封装成一个bean,使它尽可能的能
int num=Datas.length;//数组的长度
//得此数组中的最大值
int max=Datas[0];
for (int j=0;j<num;j++)
{
if(Datas[j]>max)
max=Datas[j];
}
int imageWidth = 400;//图片的宽度 Line
int imageHeight;//不定长
int frameFirstWidth=imageWidth-10;
int frameFirstHeight=25;
int frameSecondWidth=imageWidth-10;
int frameSecondHeight;//不定长
int frameSpace=10;//两框间隔
int columnHeight=18;//柱的粗
int columnMaxWidth=frameSecondWidth-20;//柱的最大长度,也是代表数值最大的那个柱的长度
int sp=30;//柱的间隔
//得到代表数值的柱的各自高度,实际数值*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为了画阴影
//开始画图
response.setContentType("image/jpeg");
BufferedImage image = new BufferedImage(imageWidth,imageHeight,BufferedImage.TYPE_INT_RGB);
Graphics g = image.createGraphics();
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);//画柱
}
}
try
{
//输出图
OutputStream output = response.getOutputStream();
JPEGImageEncoder encoder = JPEGCodec.createJPEGEncoder(output);
encoder.encode(image);
output.close();
}
catch(Exception e)
{
e.printStackTrace();
}
}//if
else
{%>
<table width="100%">
<tr>
<td width="407">
<span class="style2"><font color="#FF0000">没有<%=year%>年的记录!</font></span>
</td>
</tr>
</table>
<%
}
%>
</body>
</html>
----------------------------------------------------------------------------------
现在任务是完成了,其中的最关键的部分代码是实现什么功能的也大概知道了,可是还是没有掌握其中的知识,不能不说是遗憾。
有一个问题是,worklord.jsp这样的页面很特殊,就是因为这部分代码引起的:
OutputStream output = response.getOutputStream();
JPEGImageEncoder encoder = JPEGCodec.createJPEGEncoder(output);
encoder.encode(image);
这导致了这个页面没法再干别的了,假如你要在<body>里干点别的,像写几个字,放一个<form>什么的,页面显示不出来。
分享:JSP初级教程之跟我学JSP(四)第四章我的第一个 Javabean 程序 一、先看看如何取当前时间并显示的代码: ------------------------------------------------ % java.text.SimpleDateFormatformatter=newjava.text.SimpleDateFormat(yyyy-MM-ddHH:mm:ss); java.util.DatecurrentTime=ne
相关JSP教程:
- jsp response.sendRedirect不跳转的原因分析及解决
- JSP指令元素(page指令/include指令/taglib指令)复习整理
- JSP脚本元素和注释复习总结示例
- JSP FusionCharts Free显示图表 具体实现
- 网页模板:关于jsp页面使用jstl的异常分析
- JSP页面中文传递参数使用escape编码
- 基于jsp:included的使用与jsp:param乱码的解决方法
- Java Web项目中连接Access数据库的配置方法
- JDBC连接Access数据库的几种方式介绍
- 网站图片路径的问题:绝对路径/虚拟路径
- (jsp/html)网页上嵌入播放器(常用播放器代码整理)
- jsp下显示中文文件名及绝对路径下的图片解决方法
- 相关链接:
- 教程说明:
JSP教程-JSP初级教程之跟我学JSP(六)(4)。