把.html转换成.jsp中jqplot画图表不能正常显示,出错的心得
在做这个的时候,明明html中是完全可行的,如下图:
但后缀名改成.jsp后竟出现如下情况:
这太坑爹了吧,我的图呢!
哎,又要自己找代码问题了,无奈!
先给出我还没修改前的代码吧,关于里面的.js,.css的,自己下个jqplot,里面都有,你们自己解决吧,哈哈
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <base href="<%=basePath%>"> <meta http-equiv="pragma" content="no-cache"> <meta http-equiv="cache-control" content="no-cache"> <meta http-equiv="expires" content="0"> <meta http-equiv="keywords" content="keyword1,keyword2,keyword3"> <meta http-equiv="description" content="This is my page"> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title><%=enterpriseName1 %> 能源管理中心</title> <link rel="stylesheet" type="text/css" href="css/Smoothness/style.css" /> <link rel="stylesheet" type="text/css" href="css/jQuery/jqPlot/jquery.jqplot.min.css" /> <link type="text/css" rel="stylesheet" href="css/jQuery/jqPlot/syntaxhighlighter/styles/shCoreDefault.min.css" /> <link type="text/css" rel="stylesheet" href="css/jQuery/jqPlot/syntaxhighlighter/styles/shThemejqPlot.min.css" /> <script type="text/javascript" src="js/jQuery/jquery.min.js"></script> <style type="text/css"> * { margin: 0px; padding: 0px; } a { text-decoration:none; } a:hover { color:#FF0000; } body { font-size: 12px; font-family: "Microsoft YaHei"; } .menu div { margin-bottom: 8px; } #topMenu ul { list-style-type: none; } #topMenu ul li { float: left; width: 200px; text-align: center; } #headerBar { width: 100%; height: 35px; line-height: 35px;padding-left: 10px; } #headerBar div { float: left; text-align: center; } #footerBar { margin: 0px auto; text-align: center; border-top: 1px dashed #b8b8b8;color: #b8b8b8; margin-top: 15px; } </style> </head> <body> <!-- 页头 --> <div id="headerBar" class="ui-widget-header"> <div id="logo">能源管理中心</div> <div id="topMenu"> <ul> <li><%=enterpriseName1 %></li> <li>能源管理中心</li> </ul> </div> </div> <!-- 内容 --> <div id="chart1" style="width:800px; height:300px"></div> <button class="button-reset">恢复</button> <div id="chart2" style="width:800px; height:300px"></div> <button class="button-reset">恢复</button> <!-- 页脚 --> <div id="footerBar"> copyright © 2013 特种设备能效测试研究院 All Rights Reserved. </div> <script type="text/javascript"> // Chart 1 $(document).ready(function () { var s1 = [[1, 112000], [2, 122000], [3, 104000], [4, 99000], [5, 121000], [6, 148000], [7, 114000], [8, 133000], [9, 161000], [10, 173000]]; var s2 = [[1, 10200], [2, 10800], [3, 11200], [4, 11800], [5, 12400], [6, 12800], [7, 13200], [8, 12600], [9, 13100]]; plot1 = $.jqplot("chart1", [s2, s1], { // Turns on animatino for all series in this plot. animate: true, // Will animate plot on calls to plot1.replot({resetAxes:true}) animateReplot: true, cursor: { show: true, zoom: true, looseZoom: true, showTooltip: false }, series:[ { pointLabels: { show: true }, renderer: $.jqplot.BarRenderer, showHighlight: false, yaxis: 'y2axis', rendererOptions: { // Speed up the animation a little bit. // This is a number of milliseconds. // Default for bar series is 3000. animation: { speed: 2500 }, barWidth: 15, barPadding: -15, barMargin: 0, highlightMouseOver: false } }, { rendererOptions: { // speed up the animation a little bit. // This is a number of milliseconds. // Default for a line series is 2500. animation: { speed: 2000 } } } ], axesDefaults: { pad: 0 }, axes: { // These options will set up the x axis like a category axis. xaxis: { tickInterval: 1, drawMajorGridlines: false, drawMinorGridlines: true, drawMajorTickMarks: false, rendererOptions: { tickInset: 0.5, minorTicks: 1 } }, yaxis: { tickOptions: { formatString: "%'d" }, rendererOptions: { forceTickAt0: true } }, y2axis: { tickOptions: { formatString: "%'d" }, rendererOptions: { // align the ticks on the y2 axis with the y axis. alignTicks: true, forceTickAt0: true } } }, highlighter: { show: true, showLabel: true, tooltipAxes: 'y', sizeAdjust: 7.5 , tooltipLocation : 'ne' } }); }); // Chart 2 $(document).ready(function(){ var data = [ ['厂区一', 12],['厂区二', 9], ['厂区三', 14], ['厂区四', 16],['厂区五', 7], ['厂区六', 9] ]; var plot1 = jQuery.jqplot ('chart2', [data], { seriesDefaults: { // Make this a pie chart. renderer: jQuery.jqplot.PieRenderer, rendererOptions: { // Put data labels on the pie slices. // By default, labels show the percentage of the slice. showDataLabels: true } }, legend: { show:true, location: 'e' } } ); }); </script> <script type="text/javascript" src="js/jQuery/jqPlot/jquery.jqplot.min.js"></script> <script type="text/javascript" src="js/jQuery/jqPlot/syntaxhighlighter/scripts/shCore.min.js"></script> <script type="text/javascript" src="js/jQuery/jqPlot/syntaxhighlighter/scripts/shBrushJScript.min.js"></script> <script type="text/javascript" src="js/jQuery/jqPlot/syntaxhighlighter/scripts/shBrushXml.min.js"></script> <script type="text/javascript" src="js/jQuery/jqPlot/plugins/jqplot.barRenderer.min.js"></script> <script type="text/javascript" src="js/jQuery/jqPlot/plugins/jqplot.highlighter.min.js"></script> <script type="text/javascript" src="js/jQuery/jqPlot/plugins/jqplot.cursor.min.js"></script> <script type="text/javascript" src="js/jQuery/jqPlot/plugins/jqplot.pointLabels.min.js"></script> <script type="text/javascript" src="js/jQuery/jqPlot/plugins/jqplot.pieRenderer.min.js"></script> <script type="text/javascript" src="js/jQuery/jqPlot/plugins/jqplot.donutRenderer.min.js"></script> </body> </html>
经过整个上午的努力,得到了一个简单的解决方案,如下所示嘿:
其实很简单啦 ,就是把
<base href="<%=basePath%>">
这句给删了,然后再加上<script type="text/javascript" src="js/excanvas.js"></script>这句,关于excanvas.js上网随便下个,好像jqplot里面也有。然后再把后缀改成.jsp,哈,完美运行中............