① 解決一下如何在jsp頁面中獲取ArrayList的值
jsp頁面第一行的那個引用,把你的list中的對象引入進去,還有list.就像我下面的引入我自己的類
<%@ page language="java" import="java.util.*,com.ecside.solutionadmin.view.SolutionVO,com.ecside.solutionadmin.view.SolutionNoteVO" pageEncoding="utf-8" contentType="text/html; charset=utf-8"%>
jsp中也是可以寫java代碼的
<%
SolutionVO solutionVO = new SolutionVO();
if(request.getAttribute("solutionVO")!=null){
solutionVO = (SolutionVO)request.getAttribute("solutionVO");
}else{
solutionVO.setChangeId("");
}%>
上面是你像你servlet傳給頁面的對象
下面是處理這個對象里的一個List集值.
<% if(solutionVO.getIntegralityList()!=null&&solutionVO.getIntegralityList().size()!=0){
for(int vin=0;vin<solutionVO.getIntegralityList().size();vin++){
String path = solutionVO.getIntegralityList().get(vin).getPath();
int isLocalHostFile = path.indexOf("kmid");
//第一次時要將「數據完整性測試方案:」等字樣顯示出來
if(vin==0){%>
<tr>
<td id="inTD" width="30%" rowspan="<%=solutionVO.getIntegralityList().size()%>">
測試方案:<a href="#" name="integrality" onclick="openUpload(this);">上傳</a>
</td>
<td>
<%=solutionVO.getIntegralityList().get(vin).getFileName()%>
</td>
<td>
<a href="#" onclick="deleteFile(<%=solutionVO.getIntegralityList().get(vin).getId()%>);">刪除</a>
<%if(isLocalHostFile < 0){ %>
<a href="download.action?changeId=<%=solutionVO.getChangeId()%>&fileId=<%=solutionVO.getIntegralityList().get(vin).getId()%>">下載</a>
<%}else{ %>
<a href="<%=solutionVO.getIntegralityList().get(vin).getPath()%>" target="_blank">下載</a>
<%} %>
</td>
</tr>
應該看得懂吧?有問題再問我
② java中Arraylist是干什麼的怎麼用
java中的ArrayList就是傳說中的動態數組,用MSDN中的說法,就是Array的復雜版本。
它提供了如下一些好處:動態的增加和減少元素實現了ICollection和IList介面靈活的設置數組的大小 。
ArrayList 的用法:
ArrayList List = new ArrayList(); for( int
i=0;i<10;i++ ) //
給數組增加10個Int元素 List.Add(i); //..
程序做一些處理
List.RemoveAt(5);//
將第6個元素移除 for( int i=0;i<3;i++ ) //
再增加3個元素
List.Add(i+20); Int32[] values =
(Int32[])List.ToArray(typeof(Int32));//
返回ArrayList包含的數組 。
(2)jsp中的arraylist與矩陣擴展閱讀:
Arraylist的定義:
List 介面的大小可變數組的實現,位於API文檔的java.util.ArrayList<E>。
實現了所有可選列表操作,並允許包括 null 在內的所有元素。
除了實現 List 介面外,此類還提供一些方法來操作內部用來存儲列表的數組的大小。(此類大致上等同於 Vector 類,除了此類是不同步的。)
size、isEmpty、get、set、iterator 和 listIterator 操作都以固定時間運行。
add 操作以分攤的固定時間 運行,也就是說,添加 n 個元素需要 O(n) 時間。
其他所有操作都以線性時間運行(大體上講)。
與用於 LinkedList 實現的常數因子相比,此實現的常數因子較低。
每個 ArrayList 實例都有一個容量。該容量是指用來存儲列表元素的數組的大小。
它總是至少等於列表的大小。隨著向 ArrayList 中不斷添加元素,其容量也自動增長。
並未指定增長策略的細節,因為這不只是添加元素會帶來分攤固定時間開銷那樣簡單
在添加大量元素前,應用程序可以使用
ensureCapacity 操作來增加 ArrayList
實例的容量。這可以減少遞增式再分配的數量。
注意,此實現不是同步的。如果多個線程同時訪問一個 ArrayList
實例,而其中至少一個線程從結構上修改了列表,那麼它必須 保持外部同步。
(結構上的修改是指任何添加或刪除一個或多個元素的操作,或者顯式調整底層數組的大小;僅僅設置元素的值不是結構上的修改。)
這一般通過對自然封裝該列表的對象進行同步操作來完成。
如果不存在這樣的對象,則應該使用 Collections.synchronizedList 方法將該列表「包裝」起來。這最好在創建時完成,以防止意外對列表進行不同步的訪問:
List list = Collections.synchronizedList(new ArrayList(...));
此類的 iterator 和 listIterator 方法返回的迭代器是快速失敗的。
在創建迭代器之後,除非通過迭代器自身的
remove 方法從結構上對列表進行修改,否則在任何時間以任何方式對列表進行修改,迭代器都會拋出
。
因此,面對並發的修改,迭代器很快就會完全失敗,而不是冒著在將來某個不確定時間發生任意不確定行為的風險。
注意,迭代器的快速失敗行為無法得到保證。
因為一般來說,不可能對是否出現不同步並發修改做出任何硬性保證。快速失敗迭代器會盡最大努力拋出
。
因此,為提高這類迭代器的正確性而編寫一個依賴於此異常的程序是錯誤的做法:迭代器的快速失敗行為應該僅用於檢測
bug。
③ jsp中List,ArrayList的使用方法
public
static
List
getPageUser(int
currentPage)
throws
Exception
{/
List
Connection
conn
=
null;
PreparedStatement
prep
=
null;
ResultSet
rs
=
null;
List
result
=
new
ArrayList();//
介面
List<E>,
此介面的用戶可以對列表中每個元素的插入位置進行精確地控內制。用
戶可以根據元素的整容數索引(在列表中的位置)訪問元素,並搜索列表中的元素。
④ JSP中,常用的集合類有哪些他們之間有什麼差別
常用的集合類有一下幾種:
List結構的集合類:ArrayList類,LinkedList類,Vector類,Stack類
Map結構的集合類:HashMap類,Hashtable類
Set結構的集合類:HashSet類,TreeSet類
Queue結構的集合:Queue介面
HashMap和Hashtable的區別:
HashMap和Hashtable都是java的集合類,都可以用來存放java對象,這是他們的相同點
以下是他們的區別:
1.歷史原因:
Hashtable是基於陳舊的Dictionary類的,HashMap是java 1.2引進的Map介面的一個現實。
2.同步性:
Hashtable是同步的,這個類中的一些方法保證了Hashtable中的對象是線程安全的,而HashMap則是非同步的,因此HashMap中的對象並不是線程安全的,因為同步的要求會影響執行的效率,所以如果你不需要線程安全的結合那麼使用HashMap是一個很好的選擇,這樣可以避免由於同步帶來的不必要的性能開銷,從而提高效率,我們一般所編寫的程序都是非同步的,但如果是伺服器端的代碼除外。
3.值:
HashMap可以讓你將空值作為一個表的條目的key或value
Hashtable是不能放入空值(null)的
ArrayList和Vector的區別:
ArrayList與Vector都是java的集合類,都是用來存放java對象,這是他們的相同點,
區別:
1.同步性:
Vector是同步的,這個類的一些方法保證了Vector中的對象的線程安全的,而ArrayList則是非同步的,因此ArrayList中的對象並不是線程安全的,因為同步要求會影響執行的效率,所以你不需要線程安全的集合那麼使用ArrayList是一個很好的選擇,這樣可以避免由於同步帶來的不必要的性能開銷。
2.數據增長:
從內部實現的機制來講,ArrayList和Vector都是使用數組(Array)來控制集合中的對象,當你向兩種類型中增加元素的時候,如果元素的數目超過了內部數組目前的長度他們都需要擴展內部數組的長度,Vector預設情況下自動增長原來一倍的數組長度,ArrayList是原來的50%,所以最後你獲得的這個集合所佔的空間總是比你實際需要的要大,所以如果你要在集合中保存大量的數據,那麼使用Vector有一些優勢,因為你可以通過設置集合的初始大小來避免不必要的資源開銷。
總結:
1)如果要求線程安全,使用Vector,Hashtable
2)如果不要求線程安全,使用ArrayList,LinkedList,HashMap
3)如果要求鍵值對,則使用HashMap,Hashtable
4)如果數據量很大,又要求線程安全考慮Vector
⑤ Struts2中怎麼在JSP頁面遍歷ArrayList<Object>二維數組
沒太明白你的意思,你是說ArrayList裡面又嵌套了一個ArrayList集合?ArrayList跟數組有啥關系·······JSP中應該用小腳本裡面寫FOR循環遍歷出來就可以了吧?
⑥ 在JSP中ArrayList怎麼用
List<類型來> list = null; // 在頁面題頭先把這個包源java.util.List.*;和java.util.ArrayList.*;導進來。
list = (List<類型>)session.getAttribute("LIST");//從session中出key為"LIST" 的Value
if(null == list){
list = new Arryalist<類型>();
list.add(你要加入的類型的對象);
session.setAttriber("LIST",list);//添加到session中
}
⑦ jsp中List,ArrayList的使用方法
<%List list=new ArrayList()%>
⑧ 關於Jsp中的ArrayList。我在做一個畢業設計,是從一個網上下的一個項目,一直在修改,不過Jsp出現問題!
ArrayList list = (ArrayList) request.getAttribute("list");
或者
ArrayList<HotelVO> list = (ArrayList<HotelVO>) request.getAttribute("list");
這樣試試!
你這上面的應該是警告。如果出錯,十有八九出在HotelVO這個類型上,這個是你自己寫的類型吧?檢查一下吧 。ArrayList後面跟著的尖括弧是jdk1.5之後出現的類型化