[JSP ] 關於變數宣告無法被EL讀取的問題
之前找到一個月曆的程式,試著把它從JSP改成與jstl並用的格式
但是卻發現以<%! ... %>宣告的變數(如String month[])
在稍後的<body>內無法以${month[i]}的方式顯示在網頁上
原code為:
<option value="${i}">${month[i]}</option>
最後出現的html原始檔為:
<option value="0"></option>
請問為什麼會這樣?
又,有辦法以<c:set>的方式指定陣列型態的變數嗎?
希望前輩們能不吝解答,謝謝!
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 118.165.140.251
推
12/17 19:16, , 1F
12/17 19:16, 1F
→
12/17 19:22, , 2F
12/17 19:22, 2F
推
12/17 21:48, , 3F
12/17 21:48, 3F
→
12/17 21:58, , 4F
12/17 21:58, 4F
抱歉,剛剛憑著記憶打的內容有些記錯了,詳細問題如下:
原code在此 ttp://www.webasp.net/article/17/16811.htm
我是想把
<%
/*初始化表單*/
for (int i = 0; i < months.length; i++) {
if (i == mm)
out.print("<option selected value=January>");
else
out.print("<option value="+months[i]+">");
out.print(months_cn[i]);
out.print("</option>");
}
%>
這段code改成
<c:forEach begin="0" end="11" var="i">
<c:choose>
<c:when test="${i == mm}"><option selected value=January>
</c:when>
<c:otherwise>
<option value=${months[i]}>
</c:otherwise>
</c:choose>
${months_cn[i]}</option>
</c:forEach>
但是最後跑出來的下拉式選單變成全都是${months_cn[i]}
當然回去檢視原始碼也發現${months[i]}他也照單全收印出來了
就好像EL language不存在一樣,不知道是哪裡出錯了?
※ 編輯: KevinSh 來自: 118.165.140.251 (12/17 23:19)
推
12/18 08:20, , 5F
12/18 08:20, 5F