您的位置:首页 > Web前端 > JavaScript

把.html转换成.jsp中jqplot画图表不能正常显示,出错的心得

2013-07-13 17:40 337 查看
在做这个的时候,明明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,哈,完美运行中............
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: