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

一、什么是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

瓶罐瓶盖实例分割数据集一、基础信息数据集名称:瓶罐瓶盖实例分割数据集图片数量:训练集:5646张图片验证集:592张图片测试集:265张图片分类类别:罐瓶:常见的金属罐装容器,常用于饮料包装。玻璃瓶:透明或 coloured 玻璃制成的瓶子,多用于饮品和食品存储。塑料瓶:轻质塑料制成的瓶子,广泛用于消费品包装。瓶盖:瓶子密封部件,多种材质和设计。标注格式:YOLO格式,包含实例分割多边形标注,适用于实例分割任务。数据格式:图片文件,来源于实际场景采集,细节清晰。二、适用场景垃圾回收分类系统开发:数据集支持实例分割任务,帮助构建能够自动识别和分割不同类型瓶子和瓶盖的AI模型,提升垃圾分拣效率和准确性。制造业质量检测应用:集成至瓶装生产线,用于检测瓶子类型和瓶盖安装状态,辅助质量控制和自动化生产。零售库存管理:应用于零售环境中,自动化识别货架上的瓶子商品,用于库存盘点、消费者行为分析和智能货架管理。环境监测清洁维护:支持公共场所的瓶子垃圾监控系统开发,助力环境清洁和可持续发展倡议。三、数据集优势精准标注实例分割:每张图片均包含多边形标注,精确勾勒瓶子和瓶盖的轮廓,确保模型在高精度分割任务中的可靠性。类别多样性实用性:覆盖罐瓶、玻璃瓶、塑料瓶和瓶盖等多种常见容器类型,涵盖不同材质和用途,提升模型在真实场景中的泛化能力。数据量大且分布合理:拥有训练集、验证集和测试集共计6503张图片,数据分布均衡,支持模型充分学习和验证。任务适配性强:标注兼容主流深度学习框架(如YOLO),可直接用于实例分割模型训练,并支持扩展至目标检测等相关任务。
内容概要:本文针对不对称电网故障下T型三电平逆变器的低电压穿越(LVRT)问题,提出了一种多目标协同控制策略,并通过Simulink进行仿真实现。该策略综合考虑了有功功率、无功功率、负序电流、中点电位平衡及谐波抑制等多个控制目标,采用正负序分离、双闭环调节多目标优化算法协同作用,实现了故障期间并网电流的精确控制系统稳定运行。研究重点在于提升逆变器在电网电压跌落不平衡等恶劣工况下的适应能力,确保其符合并网技术规范。仿真结果表明,该策略在动态响应速度、电能质量改善和系统鲁棒性方面均表现出优越性能; 适合人群:具备电力电子、新能源并网或自动控制等相关专业背景,从事逆变器控制、微电网或柔性输电系统研究的研发人员及研究生;熟悉Simulink仿真工具者更佳; 使用场景及目标:①研究不对称电网故障下三电平逆变器的低电压穿越控制方法;②掌握多目标协同控制策略的设计思路实现手段;③通过Simulink仿真平台复现并验证先进控制算法,服务于科研论文撰写、项目开发或工程优化; 阅读建议:建议结合Simulink仿真模型同步学习,重点关注正负序分离锁相、多目标权重分配中点电位控制模块的实现细节,深入理解控制策略在暂态过程中的协同机制,并尝试调整故障条件参数以评估系统鲁棒性。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值