① 解决一下如何在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之后出现的类型化