怎样用JSP可以实现向用ASP.net那样做出来的报表图,如柱状图,曲线图等。

解决方案 »

  1.   

    我做的报表
    <?xml version="1.0" encoding="GB2312"?><root>
      <report share="false" status="design" type="sql">
        <name><![CDATA[查询报表]]></name>
        <desc><![CDATA[查询报表]]></desc>
        <pagination setRowsPerPage="10"><![CDATA[sql]]></pagination>
        <info author="root" create_time="2010-05-10 13:37:28 "/>
        <toolbar showcontenttitle="true" toolbar="true">
          <showtime goback="true"/>
          <showtime changetime="true"/>
          <showtime day="true"/>
          <showtime week="true"/>
          <showtime month="true"/>
          <showtime season="true"/>
          <showtime year="true"/>
          <showtime custom="true">
            <showcheck customday="false"/>
            <showcheck customhou="true"/>
            <showcheck custommin="false"/>
            <showcheck customsec="false"/>
          </showtime>
          <showtime subscribe="true"/>
          <showtime showpreprint="true"/>
          <showtime print="true">
            <printtype batchexcel="false"/>
            <printtype excel="true"/>
            <printtype pdf="true"/>
            <printtype csv="true"/>
          </showtime>
          <showtime helpd="true"/>
          <showtime hide="true"/>
          <showtime help=""/>
          <showtime page="true"/>
        </toolbar>
      </report>
      <base granularity="month" show_time="thismonth">
        <sql datasource="nmr_ultranms">
          <replace format="0" name="StartTime" place="1"/>
          <replace format="0" name="EndTime" place="2"/>
          <item dbms="All"><![CDATA[select aa.*,]]><![CDATA[
           nvl(bb.guzhang, 0) guzhang,]]><![CDATA[
           round(nvl(bb.shichang / 1000 / 60, 0)) shichang,]]><![CDATA[
           case aa.shebei]]><![CDATA[
             when 0 then]]><![CDATA[
              0]]><![CDATA[
             else]]><![CDATA[
              round(nvl(bb.shichang, 0) / 1000 / 60 / aa.shebei, 2)]]><![CDATA[
           end "shebei"]]><![CDATA[
      from (select b.contactor_id,]]><![CDATA[
                   substr(b.department, 8) department,]]><![CDATA[
                   nvl(count(a.classname), 0) shebei]]><![CDATA[
              from (select *]]><![CDATA[
                      from res_entity a, res_object c, mv_relation mv]]><![CDATA[
                     where c.multiselect_id = mv.relation_id]]><![CDATA[
                        and c.classname in ('ResRouter', 'ResSwitch')]]><![CDATA[
                       and mv.appsystem_name = 'MDCN']]><![CDATA[
                       and a.res_id = c.res_id) a,]]><![CDATA[
                   r]]><![CDATA[es_dim_contactor b]]><![CDATA[
             where a.contactor_id(+) = b.contactor_id]]><![CDATA[
               and b.department like '维护责任单位%']]><![CDATA[
             group by b.contactor_id, b.department) aa,]]><![CDATA[
           (select cc.contactor_id,]]><![CDATA[
                   b.department,]]><![CDATA[
                   count(cc.total) guzhang,]]><![CDATA[
                   nvl(sum(cc.clrtimedelay), 0) shichang]]><![CDATA[
              from (select a.contactor_id, d.total, d.clrtimedelay]]><![CDATA[
                      from res_entity       a,]]><![CDATA[  res_object       c,]]><![CDATA[  fm_history_equal d,]]><![CDATA[  mv_relation      mv]]><![CDATA[
                     where a.res_id = c.res_id]]><![CDATA[
                       and (c.classname in ('ResRouter', 'ResSwitch') and]]><![CDATA[  c.res_id = d.parent_node_res_id)]]><![CDATA[
                       and mv.appsystem_name = 'MDCN']]><![CDATA[
                       and d.acktime>{1} ]]><![CDATA[
                       and d.acktime<{2}]]><![CDATA[
                       and substr(to_char(get_date_from_millisecond(d.acktime),]]><![CDATA[                 'YYYYMMDD HH24:Mi:SS'),]]><![CDATA[         10,]]><![CDATA[         2) > 6]]><![CDATA[
                       and substr(to_char(get_date_from_millisecond(d.acktime),]]><![CDATA[                 'YYYYMMDD HH24:Mi:SS'),]]><![CDATA[         10,]]><![CDATA[         2) < 24]]><![CDATA[
                       and c.multiselect_id = mv.relation_id) cc,]]><![CDATA[
                   res_dim_contactor b]]><![CDATA[
             where cc.contactor_id(+) = b.contactor_id]]><![CDATA[
               and b.department like '维护责任单位%']]><![CDATA[
             group by cc.contactor_id, b.department) bb]]><![CDATA[
     where aa.contactor_id = bb.contactor_id(+)]]><![CDATA[]]></item>
        </sql>
        <table title_menu="true">
          <field><![CDATA[CONTACTOR_ID]]></field>
          <field><![CDATA[分公司]]></field>
          <field><![CDATA[纳入数据网管管理MDCN设备数量(不含省公司集中维护设备]]></field>
          <field><![CDATA[设备故障次数]]></field>
          <field><![CDATA[设备故障总时长(分钟)]]></field>
          <field><![CDATA[分公司MDCN故障时长(总时长/设备个数)]]></field>
        </table>
      </base>
      <show>
        <action id="1273469848968" parent="nmr_hunan_network_dmcn_alert" type="runSwitchRowColor">
          <runSwitchRowColor run="true"/>
        </action>
        <action id="1273470177140" parent="nmr_hunan_network_dmcn_alert" type="addHref">
          <addHref orientation="col" showonflash="false" addwhenzero="false" which="3" from="all" to="" iam="false" datefromto="true" timetype="true" target="_blank" datasource="nmr_ultranms" urlcontion="false" compare="" urlOrientation="" urlrow="" urlcol="" cellrow="" cellcol="" max="" min="" strname="" doublename="">
            <url urlshowname=" "><![CDATA[/report/bizman/common/result.jsp]]></url>
            <param name="c_id" source="table" place="0" transition="false"><![CDATA[COL[1]]><![CDATA[]]]></param>
            <param name="timename" source="const" place="0" transition="false"><![CDATA[nmr_hunan_network_dmcn_detail]]></param>
          </addHref>
        </action>
        <action id="1273470335796" parent="nmr_hunan_network_dmcn_alert" type="addHref">
          <addHref orientation="col" showonflash="false" addwhenzero="false" which="4" from="all" to="" iam="false" datefromto="true" timetype="true" target="_blank" datasource="nmr_ultranms" urlcontion="false" compare="" urlOrientation="" urlrow="" urlcol="" cellrow="" cellcol="" max="" min="" strname="" doublename="">
            <url urlshowname=" "><![CDATA[/report/bizman/common/result.jsp]]></url>
            <param name="c_id" source="table" place="0" transition="false"><![CDATA[COL[1]]><![CDATA[]]]></param>
            <param name="timename" source="const" place="0" transition="false"><![CDATA[nmr_hunan_network_dmcn_alert_detail]]></param>
          </addHref>
        </action>
        <action id="1273470336781" parent="nmr_hunan_network_dmcn_alert" type="addHref">
          <addHref orientation="col" showonflash="false" addwhenzero="false" which="4" from="all" to="" iam="false" datefromto="true" timetype="true" target="_blank" datasource="nmr_ultranms" urlcontion="false" compare="" urlOrientation="" urlrow="" urlcol="" cellrow="" cellcol="" max="" min="" strname="" doublename="">
            <url urlshowname=" "><![CDATA[/report/bizman/common/result.jsp]]></url>
            <param name="c_id" source="table" place="0" transition="false"><![CDATA[COL[1]]]></param>
            <param name="timename" source="const" place="0" transition="false"><![CDATA[nmr_hunan_network_dmcn_alert_detail]]></param>
          </addHref>
        </action>
        <action id="1236655010281" parent="nmr_hunan_network_dmcn_alert" type="setCaption">
          <setCaption index="0" change="replace"><![CDATA[]]></setCaption>
        </action>    
        <action id="2" parent="nmr_hunan_network_dmcn_alert" type="addAssociateSwitch">
          <addAssociateSwitch location_type="main">
           <sqlParam place="1" name="top" dataSource="nmr_ultranms"><![CDATA[50]]></sqlParam>
            <sqlContent dataSource="nmr_ultranms" extends="Y">
             <![CDATA[
               select to_char(get_date_from_millisecond({1}),'YYYY"年"MM"月"DD')||'~'||to_char(get_date_from_millisecond({2}),'YYYY"年"MM"月"DD')||'MDCN网络故障时长分析报表总表'
           from  dual         ]]>
             </sqlContent>
             <insert index="N"/>
          </addAssociateSwitch>
        </action>   <action id="1272186125765" parent="nmr_hunan_network_dmcn_alert" type="addFreeChart">
          <addFreeChart chart_type="mscolumn3d" newline="true" step_length="31">
            <setMainTitle><![CDATA[MDCN网络故障时长分析报表]]></setMainTitle>
            <setSecondTitle show_time="true"/>
            <setXCordUnitName setXCordValue="[nmr_hunan_network_dmcn_alert:COL2|2,N]"/>
            <setYCordUnitName/>
            <addSeries value="[nmr_hunan_network_dmcn_alert:COL4|2,N]" isPyAxis="isPyAxis" Pyaxisname="" renderas="column" linethickness=""><![CDATA[设备故障次数]]></addSeries>
            <addSeries value="[nmr_hunan_network_dmcn_alert:COL6|2,N]" isPyAxis="isPyAxis" Pyaxisname="" renderas="column" linethickness=""><![CDATA[分公司MDCN故障时长(总时长/设备个数)]]></addSeries>
            <addSeries value="[nmr_hunan_network_dmcn_alert:COL5|2,N]" isSyAxis="isSyAxis" Syaxisname="" renderas="line" linethickness="3"><![CDATA[设备故障总时长(分钟)]]></addSeries>
          </addFreeChart>
        </action> 
        <action id="1273729182296" parent="nmr_hunan_network_dmcn_alert" type="setHidden">
          <setHidden orientation="col" value="1" hidden="true"/>
        </action> </show>
    </root>
      

  2.   

    请问我现在要去实现这样一个报表图大概开发步骤是什么,需要用到辅助的jar包吗?