在java中我的代碼,在JavaScript如何從javascript訪問java.util.List會話?
List abcList;
request.getSession().setAttribute("abc", abcList);
我要訪問此列表中的javascript,
var myVariable='<%=(List)session.getAttribute("abc")%>';
我沒有收到名單(abcList)值......
在java中我的代碼,在JavaScript如何從javascript訪問java.util.List會話?
List abcList;
request.getSession().setAttribute("abc", abcList);
我要訪問此列表中的javascript,
var myVariable='<%=(List)session.getAttribute("abc")%>';
我沒有收到名單(abcList)值......
您必須編寫將列表打印爲javascript數組的代碼。這propably只是導致
var myVariable='[email protected]'
,但你需要的是
var myVariable = ["element1", "element2, ...]
使用JSON序列化圖書館。那些爲你打印。或者寫一個json打印機,它實際上很簡單^^。
您需要將您的列表序列化爲Javascript對象。有這樣的庫爲你做:https://stackoverflow.com/questions/338586/a-better-java-json-library
你不能那樣做。您必須通過迭代Java列表來創建列表。你可以嘗試這樣的...
var myVar = [];
<%
List list = (List)session.getAttribute("abc");
for(int i = 0; i < list.size(); ++i){
out.println("myVar.push('" + list[i] + "');");
}
%>
究竟想要達到什麼目的? 記住JavaScript將在客戶端瀏覽器上執行,因爲Java代碼將在服務器上。所以你不應該從javascript引用一個java變量。取而代之的是使用jsp標籤,您只能在加載時在服務器上獲取列表。
我第一次調用頁面加載函數,所以從jsp調用變量將無濟於事,我希望這個分頁的東西,因爲我想從Java代碼完成列表,我設置會話。 – krohit
你甚至看過生成的源代碼嗎?你需要發出合法的,合理的JavaScript。 –
它給我不適當的輸出(package.subpackage ....),但它能夠檢測列表大小! – krohit