[問題] 讀取mysql資料儲存到JSP的變數
1.我要從course這個table之中讀取concept_name
再依照Lvevl與Num這兩個欄位存入Concept這個二維陣列裡面
2.再從line這個table之中讀取preLevel prenNum postLevel postNum四個欄位的資料
分別存入preLevel[]
prenNum[]
postLevel[]
postNum[] 這四個array之中。
=============================================================
1的部分是可以順利儲存的
程式碼片段如下
<sql:query var="result">
SELECT * FROM course
</sql:query>
<%
String[][] Concept=new String[10][10];
int L=0;
int N=0;
int levelCount[]=new int [10]; //各層node個數
for(int i=0 ; i<10 ; i++)
{
levelCount[i]=0;
}
%>
<c:forEach items="${result.rows}" var="row" >
<c:set var="Concept" value="${row.Concept_name}"/>
<c:set var="Level" value="${row.Level}"/>
<c:set var="Num" value="${row.Num}"/>
<%
L = Integer.parseInt(pageContext.getAttribute("Level").toString());
N = Integer.parseInt(pageContext.getAttribute("Num").toString());
//ary = ${value1};
Concept[L][N]=pageContext.getAttribute("Concept").toString();
levelCount[L]++;
%>
</c:forEach>
=============================================================
一旦加上2的部分,就會出現錯誤訊息 HTTP Status 500 -
The server encountered an internal error () that prevented it from
fulfilling this request.
所使用的語法都是相同的,程式碼片段如下
<sql:query var="result">
SELECT * FROM line
</sql:query>
<%
int lineSize=10;
int[] preLevel=new int[lineSize];
int[] preNum=new int[lineSize];
int[] postLevel=new int[lineSize];
int[] postNum=new int[lineSize];
int count=0;
%>
<c:forEach items="${result.rows}" var="rowl" >
<c:set var="X1" value="${rowl.preLevel}"/>
<c:set var="Y1" value="${rowl.preNum}"/>
<c:set var="X2" value="${rowl.postLevel}"/>
<c:set var="Y2" value="${rowl.postNum}"/>
<%
preLevel[count]=
Integer.parseInt(pageContext.getAttribute("X1").toString());
preNum[count]=
Integer.parseInt(pageContext.getAttribute("Y1").toString());
postLevel[count]=
Integer.parseInt(pageContext.getAttribute("X2").toString());
postNum[count]=
Integer.parseInt(pageContext.getAttribute("Y2").toString());
count++;
%>
</c:forEach>
=============================================================
我發現把下面程式部分註解掉就不會有錯
preLevel[count]=Integer.parseInt(pageContext.getAttribute("X1").toString());
preNum[count]=Integer.parseInt(pageContext.getAttribute("Y1").toString());
postLevel[count]=Integer.parseInt(pageContext.getAttribute("X2").toString());
postNum[count]=Integer.parseInt(pageContext.getAttribute("Y2").toString());
只是上面讀取course的部分也有用到相同的語法,卻不會有錯誤。
不曉得是怎樣的原因造成的?
該如何解決?
感謝!
ps.所使用的mysql及tomcat的版本都是「JSP2.0技術手冊」書上所附的版本
--
太多不熟識蠍子的人
總是只看到蠍子堅硬的外殼
強力的雙螯以及尖銳的尾針
卻往往忽略了,蠍子脆弱的本質
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.135.11.132