JSP调用JavaBean在网页上动态生成柱状图

鋲俤締

鋲俤締

2016-01-29 12:07

JSP调用JavaBean在网页上动态生成柱状图,JSP调用JavaBean在网页上动态生成柱状图

 

  我们经常要在网页看到一些动态更新的图片,最常见的莫过于股票的K线图,本文试图通过一个简单的实例,向大家展示如何通过JSP 调用JavaBean在网页上动态生成柱状图。


  背景:本人最近在为某统计局开发项目时,涉及到在网页上动态生成图片的问题,费了一天的时间,终于搞定,为帮助大家在以后遇到同样的问题时不走弯路,现将设计思想及源代码公布出来,与大家共勉。以下代码在Windows2000成功测试通过,Web应用服务器采用Allaire公司的Jrun3.0。


  第一步:创建一个Java Bean用来生成jpg文件

(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/java/)

  源程序如下:

//生成图片的 Java Bean
//作者:崔冠宇
//日期:2001-08-24
import java.io.*;
import java.util.*;
import com.sun.image.codec.jpeg.*;
import java.awt.image.*;
import java.awt.*;

public class ChartGraphics {
 BufferedImage image;
 public void createImage(String fileLocation) {
  try {
   FileOutputStream fos = new FileOutputStream(fileLocation);
   BufferedOutputStream bos = new BufferedOutputStream(fos);
   JPEGImageEncoder encoder = JPEGCodec.createJPEGEncoder(bos);
   encoder.encode(image);
   bos.close();
  } catch(Exception e) {
   System.out.println(e);
  }
 }

 public void graphicsGeneration(int h1,int h2,int h3,int h4,int h5) {

  final int X=10;
  int imageWidth = 300;//图片的宽度
  int imageHeight = 300;//图片的高度
  int columnWidth=30;//柱的宽度
  int columnHeight=200;//柱的最大高度

  ChartGraphics chartGraphics = new ChartGraphics();
  chartGraphics.image = new BufferedImage(imageWidth, imageHeight, BufferedImage.TYPE_INT_RGB);
  Graphics graphics = chartGraphics.image.getGraphics();
  graphics.setColor(Color.white);
  graphics.fillRect(0,0,imageWidth,imageHeight);
  graphics.setColor(Color.red);
  graphics.drawRect(X+1*columnWidth, columnHeight-h1, columnWidth, h1);
  graphics.drawRect(X+2*columnWidth, columnHeight-h2, columnWidth, h2);
  graphics.drawRect(X+3*columnWidth, columnHeight-h3, columnWidth, h3);
  graphics.drawRect(X+4*columnWidth, columnHeight-h4, columnWidth, h4);
  graphics.drawRect(X+5*columnWidth, columnHeight-h5, columnWidth, h5);
  chartGraphics.createImage("D:tempchart.jpg");
 }
}
 

  解释:createImage(String fileLocation)方法用于创建JPG图片,参数fileLocation为文件路径

(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/java/)

  graphicsGeneration(int h1,int h2,int h3,int h4,int h5)方法用于绘出图片的内容,参数h1……h5为每一个长方形的高度

  第二步:创建另一个Java Bean从文本文件中读取数据(每一个长方形的高度),在实际应用中数据存储在Oracle数据库中

  源程序如下:

//读取Text文件中数据的 Java Bean
//作者:崔冠宇
//日期:2001-08-24
import java.io.*;
public class GetData {
 int heightArray[] = new int[5];
 public int[] getHightArray() {
  try {
   RandomAccessFile randomAccessFile = new RandomAccessFile   ("d:tempColumnHeightArray.txt","r");
   for (int i=0;i<5;i++)
   {
    heightArray[i] = Integer.parseInt(randomAccessFile.readLine());
   }
  }
  catch(Exception e) {
   System.out.println(e);
  }
  return heightArray;
 }

  解释: getHightArray()用于从文本中读取数据,将文本中的String类型转换为int类型,并以数组类型返回。

  第三步:创建JSP文件

  源程序如下:


<%@ page import="ChartGraphics" %>
<%@ page import="GetData" %>
<jsp:useBean id="cg" class="ChartGraphics"/>
<jsp:useBean id="gd" class="GetData"/>
<%!
int height[]=new int[5];
%>
<%
height=gd.getHightArray();
cg.graphicsGeneration(height[0],height[1],height[2],height[3],height[4]);
%>
<html>
<body>
<img src="http://img.tulaoshi.com/attachment/portal/jcwcj/2005-12/10/05121010413587863.jpg"></img>
</body>
</html> 

   解释:JSP首先调用Bean (GetData..class)读取文件中的数据,再调用Bean(ChartGraphics.class)生成图片,最后显示图片。

  结束语:由于文本(ColumnHeightArray.

展开更多 50%)
分享

猜你喜欢

JSP调用JavaBean在网页上动态生成柱状图

Java JAVA基础
JSP调用JavaBean在网页上动态生成柱状图

Excel怎么制作漂亮的柱状图

excel
Excel怎么制作漂亮的柱状图

s8lol主宰符文怎么配

英雄联盟 网络游戏
s8lol主宰符文怎么配

动态生成Flash网页

flash教程
动态生成Flash网页

JSP技术生成动态web页面

Java JAVA基础
JSP技术生成动态web页面

lol偷钱流符文搭配推荐

英雄联盟 网络游戏
lol偷钱流符文搭配推荐

Excel2013怎么生成柱状图 按照下面的步骤就可以

柱状图 Excel2013柱状图 Excel2013怎么生成柱状图
Excel2013怎么生成柱状图 按照下面的步骤就可以

Excel怎样设置柱状图图例颜色方块变宽

excel
Excel怎样设置柱状图图例颜色方块变宽

lolAD刺客新符文搭配推荐

英雄联盟
lolAD刺客新符文搭配推荐

如何使用JSP+MySQL创建留言本(三)

如何使用JSP+MySQL创建留言本(三)

《部落战争》五大战术分享攻略

《部落战争》五大战术分享攻略
下拉加载更多内容 ↓