connext-graphs是struts2的标签,是其可以应用ofc。通过controller控制数据来源,从而显示
open flash chart with struts2 pie 收藏
官网为:http://teethgrinder.co.uk/open-flash-chart/
在 http://www.connext.co.za/下载connext-graphs-0.6.jar (现在是最新版,源代码在https://connext-graphs.dev.java.net/source/browse/connext-graphs/ 用svn 下,不过你要先注册先,它会要求你输入注册名和密码的)
参照struts2-pluign
http://cwiki.apache.org/S2PLUGINS/connext-graph-plugin.html里的做法,把刚才下载的connext-graphs-0.6.jar 放到你的/WEB-INF/lib下,然后就是写action jsp (据说可以用在freemarker了,不过我没有试过)
我的action:
public class GraphAction extends ActionSupport {
private static final long serialVersionUID = -7553677081007831357L;
private String value;
@SuppressWarnings("unchecked")
@Override
public String execute() throws Exception {
OFCGraphController controller = new OFCGraphController();
controller.getTitle().setText("Example 01");
controller.getTitle().setSize(12);
PieLabels pieLabels = new PieLabels();
List<String> colours = new ArrayList<String>();
colours.add("#d01f3c");
colours.add("#356aa0");
colours.add("#C79810");
pieLabels.setColours(colours);
controller.setLabels(pieLabels);
controller.getLabels().setLabels(Arrays.asList(labels));
controller.getYLegend().setText("No. of tasks");
controller.getYLegend().setColor("#8b0000");
controller.getYLegend().setSize(12);
controller.getXLegend().setText("Months");
controller.getXLegend().setColor("#8b0000");
controller.getXLegend().setSize(12);
controller.getColor().getBgColor().setColor("#FFFFFF");
controller.getColor().getXAxisColor().setColor("#e3e3e3");
controller.getColor().getYAxisColor().setColor("#e3e3e3");
controller.getColor().getXGridColor().setColor("#e3e3e3");
controller.getColor().getYGridColor().setColor("#e3e3e3");
DefaultOFCGraphDataModel model = new DefaultOFCGraphDataModel();
model.setData(Arrays.asList(data01));
model.setFormat(new DecimalFormat("###0.000"));
// model.setSeriesType(new OFCLineAreaSeriesType(10,"#8b0000", "Test 2"
// ));
model.setSeriesType(new PieChart(60, "#505050",
"{font-size: 12px; color: #8b0000}"));
controller.add(model);
// model = new DefaultOFCGraphDataModel();
// model.setData(Arrays.asList(data02));
// model.setFormat(new DecimalFormat("###0.000"));
// model.setSeriesType(new OFCLineDotSeriesType(3, "#8b0000", "Test 2",
// 10, 6));
// controller.add(model);
// model = new DefaultOFCGraphDataModel();
// model.setData(Arrays.asList(data03));
// model.setFormat(new DecimalFormat("###0.000"));
// model.setSeriesType(new OFCLineSeriesType(2, "#8b0000", "Example",
// 4));
// controller.add(model);
//
// model = new DefaultOFCGraphDataModel();
// model.setData(Arrays.asList(data04));
// model.setFormat(new DecimalFormat("###0.000"));
// model.setSeriesType(new OFCFilledBarSeriesType(50, "#8b0000",
// "#8b0000", "Filled Bar"));
// controller.add(model);
value = controller.render();
return SUCCESS;
}
private static Double[] data01 = new Double[] { new Double(1.4),
new Double(6.3), new Double(7.2), new Double(4.1), new Double(5.4),
new Double(3.8), new Double(1.5), new Double(4.4), new Double(8.9),
new Double(8.6), new Double(8.7), new Double(2.4), new Double(3.5), };
private static Double[] data02 = new Double[] { new Double(3.5),
new Double(1.4), new Double(2.3), new Double(8.4), new Double(9.6),
new Double(4.4), new Double(3.8), new Double(1.5), new Double(2.8),
new Double(8.3), new Double(5.4), new Double(8.7), new Double(1.4) };
private static Double[] data03 = new Double[] { new Double(13.5),
new Double(11.4), new Double(12.3), new Double(18.4),
new Double(19.6), new Double(14.4), new Double(13.8),
new Double(11.5), new Double(12.8), new Double(18.3),
new Double(15.4), new Double(18.7), new Double(11.4) };
private static Double[] data04 = new Double[] { new Double(13.5),
new Double(11.4), new Double(12.3), new Double(18.4),
new Double(19.6), new Double(14.4), new Double(13.8),
new Double(11.5), new Double(12.8), new Double(18.3),
new Double(15.4), new Double(18.7), new Double(11.4) };
private static String[] labels = new String[] { "Jan", "Feb", "Mar", "Apr",
"May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec", "Jan" };
public String getValue() {
return value;
}
public void setValue(String value) {
this.value = value;
}
}
注意蓝色字体:connext-graphs-0.6.jar 这个版本已经实现很多的图形显示
OFCBar3DSeriesType
OFCBarSeriesType
OFCBarSketchSeriesType
OFCFilledBarSeriesType
。。。。。。。。
我就是多说了,自己慢慢试下就知道了。
不过connext-graphs-0.6.jar 还没有实现pie(饼状图),但我要用,所以我自己临时写了个实现Pie的PieChart:
public class PieChart implements OFCSeriesType {
//SET CHART STYPE PIE
public static final String SERIES_TYPE_PIE = "pie";
private int index;
private String type;
private int alpha;
private String line_colour;
//SET DISPLAY STYLE
private String style;
@Override
public int getIndex() {
return index;
}
@Override
public String getType() {
return type = SERIES_TYPE_PIE;
}
@Override
public void setIndex(int index) {
this.index = index;
}
public PieChart(int alpha, String line_colour, String style) {
this.alpha = alpha;
this.line_colour = line_colour;
this.style = style;
}
@Override
public String render() {
String value = "&" + getType();
value = value + "=" + getAlpha() + "," + getLine_colour() + ","
+ getStyle();
value = value + "&\r\n";
return value;
}
public int getAlpha() {
return alpha;
}
public void setAlpha(int alpha) {
this.alpha = alpha;
}
public String getLine_colour() {
return line_colour;
}
public void setLine_colour(String line_colour) {
this.line_colour = line_colour;
}
public String getStyle() {
return style;
}
public void setStyle(String style) {
this.style = style;
}
}
还有就是 PieLabels
public class PieLabels extends OFCGraphLabels {
//set display type pie
public static final String myPieGraphLabels = "pie_labels";
//set display colours
public static final String myPieColours = "colours";
//TODO SET LIST
private List<String> colours;
private List labels = new ArrayList();
public void setLabels(List labels) {
this.labels = labels;
}
public void clear() {
this.labels.clear();
}
public void add(String label) {
this.labels.add(label);
}
/**
* @see za.co.connext.web.components.OFCRenderer#render()
*/
public String render() {
String value = "&" + myPieGraphLabels + "=";
for (int i = 0; i < this.labels.size(); i++) {
if (i > 0)
value = value + ",";
Object x = this.labels.get(i);
if (x != null) {
value = value + x.toString();
}
}
value = value + "&\r\n";
// set colours
value = value + "&" + myPieColours + "=";
for (String str : getColours()) {
value = value+str + ",";
}
value = value + "&\r\n";
return value;
}
public List<String> getColours() {
return colours;
}
public void setColours(List<String> colours) {
this.colours = colours;
}
}
写两个jsp页面:in.jsp result.jsp
in.jsp
<%@ taglib prefix="m" uri="/connext"%>
<m:graph id="graph" width="800" height="300" align="middle"
bgcolor="#FFFFFF" url="/Graph_example.action" />
result.jsp
<%@ taglib uri="/struts-tags" prefix="s" %>
<%
response.addHeader("Pragma", "No-cache");
response.addHeader("Cache-Control", "no-cache");
response.addDateHeader("Expires", 0);
%>
<s:property value="value" escape="false" />
在struts.xml中配置下:
<action name="Graph_example" class="你的action">
<result>/result.jsp</result>
</action>
发表于 @ 2008年01月30日 14:57:00 | 评论( 0 ) | 编辑| 举报| 收藏
旧一篇:get struts2 nightly build | 新一篇:STRUTS2 TAG给bluelzx的留言只有注册用户才能发表评论!登录注册姓 名:
校验码:
Csdn Blog version 3.1a
Copyright © bluelzx
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/bluelzx/archive/2008/01/30/2073160.aspx
分享到:
相关推荐
1. **多图表类型**:Open Flash Chart 支持多种图表类型,包括柱状图(bar charts)、饼图(pie charts)、线图(line charts)、面积图(area charts)、散点图(scatter plots)以及组合图表,满足各种数据分析和...
Open Flash Chart是一款强大的开源Flash图表库,用于在Web应用程序中创建高质量、互动的图表。它提供了丰富的自定义选项,能够生成各种类型的图表,包括柱状图、饼图、线点图等,使得数据可视化变得更加简单易行。在...
**Open Flash Chart库详解** Open Flash Chart是一款强大的开源图表库,专为PHP开发者设计,用于创建各种美观且交互性强的数据可视化图表。它以其出色的视觉效果和丰富的自定义选项,在Web应用中广泛使用,尤其适用...
Open Flash Chart 2 是一款强大的开源图表库,用于在网页中生成高质量的交互式图表。它使用Flash技术,提供丰富的视觉效果,同时保持了良好的浏览器兼容性和易用性。线性图、柱形图和饼状图是数据可视化中常见的图表...
Open Flash Chart是一款强大的开源Flash图表库,用于在Web应用程序中创建动态、交互式的图表。它使用ActionScript编写,可以通过服务器端的数据与JavaScript进行通信,从而生成高质量的图表。本示例是关于如何在Java...
open flash chart 2 的swc文件包 可以在flex里面调用了. [Bindable] private var chart:String='{ "elements": [ { "type": "bar","alpha":0.8,"colour":"#663366", "values": [ 0 ] } ], "title": { "text": "...
swfobject.embedSWF("ofc2/open-flash-chart.swf", "chart", "600", "400", "9.0.0", false, {}, {}, {}, "open-flash-chart"); ``` **三、扩展功能与自定义** Open Flash Chart还支持多种扩展功能,例如: - **...
2. JavaScript API:如果你更喜欢使用JavaScript,Open Flash Chart也提供了一个API,可以动态地创建和修改图表。 四、图表类型 Open Flash Chart 支持多种图表类型,包括: 1. 折线图(Line charts) 2. 条形图...
- **饼图(Pie Chart)**:展示数据的占比情况。 - **柱状图(Bar Chart)**:比较各分类数据量的大小。 - **折线图(Line Chart)**:展示数据随时间的变化趋势。 - **其他类型**:还包括玻璃柱状图、渐变柱状...
### Open Flash Chart 学习笔记之属性和方法详解 #### 一、概述 在上一篇文章中,我们简要探讨了如何使用 Open Flash Chart 进行图表的创建与数据交互。本文将进一步深入研究 Open Flash Chart 中 JSON 数据格式的...
1. **图表类型**:FlashChart支持多种图表类型,如折线图(Line Chart)、柱状图(Bar Chart)、饼图(Pie Chart)、散点图(Scatter Chart)等,每种类型都有其特定的用途和数据格式。 2. **XML结构**:理解和构建...
在给定的压缩包`open-flash-chart(2)`中,你应该能找到这些文件。将它们放在你的项目目录下,并在HTML页面中引入JavaScript文件,例如: ```html <script type="text/javascript" src="path/to/open-flash-chart.js...
标题中的"amchart -3 Pie & Donut(flash chart 图表)"指的是AmCharts的第三版,专门用于创建饼图和甜甜圈图的Flash版本。AmCharts 3 提供了一系列的图表类型,包括但不限于饼图和甜甜圈图,但在这个特定的资源包中,...
<action name="ListAllFruit4Pie2" class="chart.ListAllFruit4Pie2Action"> <result name="success" type="chart"> <param name="chart">chart <param name="height">400 <param name="width">700 ``` 3...
【前端项目-pie-chart.zip】是一个包含AngularJS的饼图组件的前端项目,名为"pie-chart"。这个项目专门用于创建美观且功能丰富的饼状图表,适用于数据分析和数据可视化的需求。AngularJS是一款强大的JavaScript框架...
Open Flash Chart - Open Flash Chart 是一个 Flash 图表组件,很容易安装,提供以下语言的API: PHP, Perl, Python, Java, Ruby on Rails, and .Net 来控制图表。 ? AmCharts - AmCharts 是一个动画交互Flash图表...
http://blog.csdn.net/wild46cat/article/details/61415218
JOFC2提供了对Open Flash Chart的全面支持,包括Struts 1框架的集成。通过JOFC2,开发者可以方便地在Java后端生成图表数据,并将其传递到前端展示。 【使用JOFC2的步骤】 1. **下载与引入**:首先,你需要从JOFC2...
它支持多种图表类型,包括折线图(Line Chart)、柱状图(Bar Chart)、饼状图(Pie Chart)以及更复杂的散点图(Scatter Plot)和甘特图(Gantt Chart)等。JFreeChart 还允许开发者自定义颜色、样式、标签等,以...