Open Flash Chart在JSF工程中的安装与使用(swfobject2.0)

本文介绍如何在JSF项目中使用OFC(openflashchart)和swfobject实现动态图表展示。通过servlet传递参数给Flash图表组件,并展示了bar/line图的参数设置实例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、什么是OFC(open flash chart)?

    Open flash chart(简称ofc),是一个开源的flash报表组件。我们不仅可以免费使用,而且还可以修改源码,来达到我们想要的效果。客户端在得到数据以后,在FlashPlayer中渲染出报表图。

二、什么是swfobject?

    swfobject是一个js组件,主要是为了方便在html中嵌入flash。一个最大的好处是把flash嵌入ie的时候,不会出现“单击激活此控件”的情况。本文主要是介绍在JSF工程中如何用servlet来使用swfobject2.0(即由servlet来给flash传参)。

三、swfobject的安装与使用

1.在官网上下载swfobject2.0,将swfobject.js(提供操作flash的方法)与open-flash-chart.swf(用于输出flash图像)放到web工程的根目录下(例如,FlashChartProject/WebContent/shared/js/swfobject.js和
FlashChartProject/WebContent/shared/flash/open-flash-chart.swf)。

2.在web.xml中设置servlet(这里设置了一个名为FlashServlet的类来做servlet的工作)

<servlet>
        <description>
            for showing flash chart
        </description>
        <servlet-name>FlashServlet</servlet-name>
        <servlet-class>
            com.reports.web.service.FlashServlet
        </servlet-class>
    </servlet>

    <servlet-mapping>
        <servlet-name>FlashServlet</servlet-name>
        <url-pattern>/reports_flashChart.do</url-pattern>
    </servlet-mapping>

3.在需要嵌入flash的页面中的设置(这里用的是swfobject2.0的动态方法来嵌入flash的内容)

a.首先要在html的head处引入
<script type="text/javascript" src="shared/js/swfobject/swfobject.js"></script><!-- ** SWFObject ** -->

b.在需要显示flash的地方设置flash

<div id="flashChart">Here will show flash chart.</div>

<script type="text/javascript">
    var flashvars = {};
    flashvars.data = "reports_flashChart.do%3FParentCategory%3D{dashboardNav.parentCt}%26Category%3D#{ct}";//这里是url的encode的形式,为了可以准确的将url中的参数传给servlet
    var params = {};
    params.wmode = "transparent";
    var attributes = {};
    swfobject.embedSWF("shared/flash/open-flash-chart.swf", "flashChart", "250", "250", "8.0.0", "expressInstall.swf", flashvars, params, attributes);
</script>

4.在servlet中设置参数(flash chart中的参数是字符串形式的)

public class DashboardServlet extends HttpServlet {

    public void doGet(HttpServletRequest request, HttpServletResponse response)
            throws IOException, ServletException {

        // ** Load Parameters
        String pCategoryParam = request.getParameter("ParentCategory");
        String categoryParam = request.getParameter("Category");

        subValuePercent="1,2,3,4,5";
        subPieLadels="label1,label2,label3,label4,label5";

        StringBuffer data = new StringBuffer();//用StringBuffer来存储flash参数

        data.append("&pie=60,#000000,{font-size:10px;color:#000000}& /n");
        data.append("&colours=#d01f3c,#356aa0,#C79810& /n");
        data.append("&bg_colour=#DFE8F6& /n");
        data.append("&values=" + subValuePercent + "& /n");
        data.append("&pie_labels=" + subPieLadels + "& /n");
        data.append("&tool_tip=#x_label#<br>#val#%25& /n");
       
        response.getWriter().write(data.toString());//输出图像(data中设置的是pie图的参数)

    }

    public void doPost(HttpServletRequest request, HttpServletResponse response)
            throws java.io.IOException, ServletException {
        doGet(request, response);
    }
}

四、bar/line图的参数设置形式举例

url返回渲染chart所需的参数, 比如返回如下字符串:

&title=Many+data+lines,{font-size: 20px; color: #736AFF}&
&x_label_style=10,0x000000,0,2&
&x_axis_steps=1&
&y_legend=Open Flash Chart,12,#736AFF&
&y_ticks=5,10,4&
&line=2,0x9933CC,Page views,10&
&line_dot_2=3,0xCC3399,Downloads,10,5&
&line_hollow_3=2,0x80a033,Bounces,10,4&
&values=19,14,16,18,18,16,18,14,14,16,16,15&
&values_2=9,12,13,13,13,10,10,12,9,11,11,12&
&values_3=6,7,5,1,2,4,4,6,4,3,5,3&
&x_labels=January,February,March,April,May,June,July,August,Spetember,October,N
ovember,December&
&y_min=0&
&y_max=20&

五、备注

swfobject2.0官方文档:http://farthinker.cn/documents/swfobject-2-documentation/#6

 

本文来自优快云博客,转载请标明出处:http://blog.youkuaiyun.com/EvaTian/archive/2009/02/24/3932940.aspx

资源下载链接为: https://pan.quark.cn/s/9648a1f24758 这个HTML文件是一个专门设计的网页,适合在告白或纪念日这样的特殊时刻送给女朋友,给她带来惊喜。它通过HTML技术,将普通文字转化为富有情感和创意的表达方式,让数字媒体也能传递深情。HTML(HyperText Markup Language)是构建网页的基础语言,通过标签描述网页结构和内容,让浏览器正确展示页面。在这个特效网页中,开发者可能使用了HTML5的新特性,比如音频、视频、Canvas画布或WebGL图形,来提升视觉效果和交互体验。 原本这个文件可能是基于ASP.NET技术构建的,其扩展名是“.aspx”。ASP.NET是微软开发的一个服务器端Web应用程序框架,支持多种编程语言(如C#或VB.NET)来编写动态网页。但为了在本地直接运行,不依赖服务器,开发者将其转换为纯静态的HTML格式,只需浏览器即可打开查看。 在使用这个HTML特效页时,建议使用Internet Explorer(IE)浏览器,因为一些老的或特定的网页特效可能只在IE上表现正常,尤其是那些依赖ActiveX控件或IE特有功能的页面。不过,由于IE逐渐被淘汰,现代网页可能不再对其进行优化,因此在其他现代浏览器上运行可能会出现问题。 压缩包内的文件“yangyisen0713-7561403-biaobai(html版本)_1598430618”是经过压缩的HTML文件,可能包含图片、CSS样式表和JavaScript脚本等资源。用户需要先解压,然后在浏览器中打开HTML文件,就能看到预设的告白或纪念日特效。 这个项目展示了HTML作为动态和互动内容载体的强大能力,也提醒我们,尽管技术在进步,但有时复古的方式(如使用IE浏览器)仍能唤起怀旧之情。在准备类似的个性化礼物时,掌握基本的HTML和网页制作技巧非常
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值