</script>
 <%
 int i = 0, j = 0;
 List lTStation = (List) request.getAttribute("lTStation");
 List lWStation = (List) request.getAttribute("lWStation");
 List lRStation = (List) request.getAttribute("lRStation");
 List lSpline = (List) request.getAttribute("lSpline");
 String[] splineListNo = (String[]) request.getAttribute("splineListNo");
 String[] splineListName = (String[]) request.getAttribute("splineListName");
 String[] stationspline = (String[]) request.getAttribute("stationspline");
    String[] TstationListNo = (String[]) request.getAttribute("TstationListNo");
 String[] TstationListName = (String[]) request.getAttribute("TstationListName");
 String[] WstationListNo = (String[]) request.getAttribute("WstationListNo");
 String[] WstationListName = (String[]) request.getAttribute("WstationListName");
 String[] RstationListNo = (String[]) request.getAttribute("RstationListNo");
 String[] RstationListName = (String[]) request.getAttribute("RstationListName");
%>
 <script type="text/javascript">
   var varNo = new Array();
            var varName = new Array();
            var varslineNo = new Array();
            var varslineName = new Array();
            var varslinestationNoid = new Array();
   for(var j=0; j<3; j++)
   {
    varNo[j] = new Array();
    varName[j] = new Array();
   }
</script>
 <%
  if (lTStation != null) {
  for (int i0 = 0; i0 < lTStation.size(); i0++) {
%>
 <script language="javascript">
     varNo[0][<%=i0%>] =  "<%=TstationListNo[i0]%>";
     varName[0][<%=i0%>] = "<%=TstationListName[i0]%>";
</script>
 <%
 }
 }
%>
 <%
  if (lWStation != null) {
  for (int i1 = 0; i1 < lWStation.size(); i1++) {
%>
 <script language="javascript">
     varNo[1][<%=i1%>] =  "<%=WstationListNo[i1]%>";
     varName[1][<%=i1%>] = "<%=WstationListName[i1]%>";
</script>
 <%
 }
 }
%>
 <%
  if (lRStation != null) {
  for (int i2 = 0; i2 < lRStation.size(); i2++) {
%>
 <script language="javascript">
     varNo[2][<%=i2%>] =  "<%=RstationListNo[i2]%>";
     varName[2][<%=i2%>] = "<%=RstationListName[i2]%>";
</script>
 <%
 }
 }
%>
 <%
 for (i = 0; i < lTStation.size(); ++i) {
 %>
 <script type="javascript">
            
   varslineNo[<%=i%>] = new Array();
   varslineName[<%=i%>] = new Array();
   varslinestationNoid[<%=i%>] = new Array();
  </script>
 <%
    for (j = 0; j < lSpline.size(); ++j) {
    
 %>
 <script type="javascript">
     
     varslineNo[<%=i%>].push('<%=splineListNo[j]%>');
     varslineName[<%=i%>].push('<%=splineListName[j].trim()%>');
     varslinestationNoid[<%=i%>].push('<%=stationspline[j]%>');
 </script>
 <%
   
   }
  }
 %>
 <script language="javascript">
function getgkName()
 {      
         var stationname = document.getElementById("stationId");
         alert(stationname.value);
   stationname.length=1;
   for(var k=0; k<varNo[0].length; k++)
   {   
       stationname.options[k+1] = new Option(varName[0][k], varNo[0][k]);
   }
 }
 function getmtName()
 {
         var stationname = document.getElementById("stationId");
   stationname.length=1;
   for(var k=0; k<varNo[1].length; k++)
   {   
      stationname.options[k+1] = new Option(varName[1][k], varNo[1][k]);
   }
 }
 function getckName()
 {
         var stationname = document.getElementById("stationId");
   stationname.length=1;
   for(var k=0; k<varNo[2].length; k++)
   {   
      stationname.options[k+1] = new Option(varName[2][k], varNo[2][k]);
   }
 }
function getSpline(){
 var staionname = document.getElementById("stationId");
 alert(staionname.value);
  //得到对应站点类型下的专用线类型数组
         var stationIdVarNo = varslineNo[sltstationId.selectedIndex - 1];
         var stationIdVarName = varslineName[sltstationId.selectedIndex - 1];         //清空专用线类型下拉框,仅留提示选项
         sltsplineid.length=1;         //将专用线类型数组中的值填充到站点类型下拉框中
         for(var m=0;m<splineListNo.length;m++){
          if(varslinestationNoid[m] == staionname.value){
             sltsplineid.options[splineListNo.length]=new Option(varslineName[m],varslineNo[m]);
             }
        }
 }
 
 </script>这段代码主要是做三级级联,报空指针错误~请大侠帮忙解决下啊~