现有一ArrayList,里面存入的是一些JavaBean对象(每个JavaBean里含有title,describe,date等字符串对象),date是这种格式的:2008-6-21 10:44:42,现在我想将ArrayList的内容按date的值由大到小显示在jsp页面中,请问怎么做呢?
下面是我写的jsp页面,没有按date值大小排序显示,供参考:<%@ page language="java" contentType="text/html; charset=GBK"
pageEncoding="GBK"%>
<%@ page import="java.util.*" %>
<%@ page import="com.psp.bean.*" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=GBK">
<title>易宝搜索</title>
</head>
<%
ArrayList resultSet = (ArrayList)request.getAttribute("result");//取得符合结果的集合
ResourceItemBean ri = new ResourceItemBean(); //存放资源信息的JavaBean
String key = (String)request.getAttribute("key");
%>
<body>
<jsp:include page="/query.jsp" />
<table border="1" align="center" cellspacing="0" cellpadding="5">
<tr>
<td onmouseover="showBack(this)">文件名</td>
<td>格式</td>
<td>描述</td>
<td>最后发表</td>
<td>预览|播放</td>
<td>下载</td>
</tr>
<%
for(Iterator iter = resultSet.iterator(); iter.hasNext();) {
ri = (ResourceItemBean)iter.next();
%>
<tr>
<td>
<%=ri.getTitle().replace(key, "<span style='color:#F00'>"+key+"</span>") %>
</td>
<td><%=ri.getKind() %></td>
<td><%=ri.getDescribe().length()>15 ?
(ri.getDescribe().substring(0, 15).replace(key, "<span style='color:#F00'>"+key+"</span>") + "....")
: ri.getDescribe().replace(key, "<span style='color:#F00'>"+key+"</span>")%></td>
<td><%=ri.getDate() %></td>
<% //根据不同类型显示预览还是播放
if(ri.getKind().trim().equals("ppt") ||
ri.getKind().trim().equals("doc") ||
ri.getKind().trim().equals("xls") ||
ri.getKind().trim().equals("ppt") ||
ri.getKind().trim().equals("txt")) {
%>
<td>
预览
</td>
<% } else {%>
<td>
播放
</td>
<%} %>
<td><a href="download.do" onclick="Javascript:history.go(-1)">下载</a></td>
</tr>
<%
}
%>
</table>
</body>
</html>另:有谁能将这个jsp页面改成用Struts标签做呢?呵呵,帮帮忙!
下面是我写的jsp页面,没有按date值大小排序显示,供参考:<%@ page language="java" contentType="text/html; charset=GBK"
pageEncoding="GBK"%>
<%@ page import="java.util.*" %>
<%@ page import="com.psp.bean.*" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=GBK">
<title>易宝搜索</title>
</head>
<%
ArrayList resultSet = (ArrayList)request.getAttribute("result");//取得符合结果的集合
ResourceItemBean ri = new ResourceItemBean(); //存放资源信息的JavaBean
String key = (String)request.getAttribute("key");
%>
<body>
<jsp:include page="/query.jsp" />
<table border="1" align="center" cellspacing="0" cellpadding="5">
<tr>
<td onmouseover="showBack(this)">文件名</td>
<td>格式</td>
<td>描述</td>
<td>最后发表</td>
<td>预览|播放</td>
<td>下载</td>
</tr>
<%
for(Iterator iter = resultSet.iterator(); iter.hasNext();) {
ri = (ResourceItemBean)iter.next();
%>
<tr>
<td>
<%=ri.getTitle().replace(key, "<span style='color:#F00'>"+key+"</span>") %>
</td>
<td><%=ri.getKind() %></td>
<td><%=ri.getDescribe().length()>15 ?
(ri.getDescribe().substring(0, 15).replace(key, "<span style='color:#F00'>"+key+"</span>") + "....")
: ri.getDescribe().replace(key, "<span style='color:#F00'>"+key+"</span>")%></td>
<td><%=ri.getDate() %></td>
<% //根据不同类型显示预览还是播放
if(ri.getKind().trim().equals("ppt") ||
ri.getKind().trim().equals("doc") ||
ri.getKind().trim().equals("xls") ||
ri.getKind().trim().equals("ppt") ||
ri.getKind().trim().equals("txt")) {
%>
<td>
预览
</td>
<% } else {%>
<td>
播放
</td>
<%} %>
<td><a href="download.do" onclick="Javascript:history.go(-1)">下载</a></td>
</tr>
<%
}
%>
</table>
</body>
</html>另:有谁能将这个jsp页面改成用Struts标签做呢?呵呵,帮帮忙!
如果数据从数据库里取,那么你可以使用order by子句直接在库里排好
如果要在Java端排序那有个前提你的JavaBean必须实现java.lang.Comparable接口才能使用java.util.Collections类里的静态方法sort()进行排序。
ArrayList resultSet = (ArrayList)request.getAttribute("result");//取得符合结果的集合
ResourceItemBean ri = new ResourceItemBean(); //存放资源信息的JavaBean
String key = (String)request.getAttribute("key");
%>你用了这小脚本 又想用struts标签 那还不如搞个EL标签还好一些 你用的是servlet做的吧!!!