所以我正在做一个小型的个人项目,但我遇到了一些问题。当页面加载时,我希望按字母顺序加载信息,但是我不知道该如何做,有什么建议吗?谢谢。这是根据以前的情况更新的。
<%@page import="campus.system.userdatamodel.Users"%>
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<%@include file="/WEB-INF/jspf/loadDataModelSegment.jspf" %>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>List of Users</title>
</head>
<body>
<h1>Users</h1>
<div>
<table>
<tr>
<td>User Name</td>
<td>Delete</td>
</tr>
<%
Integer index;
index = 0;
for(Users currUser : mySystemUsers.getUserList())
{
out.println("<tr>");
out.println("<td>");
out.println(currUser.getName());
out.println("</td>");
out.println("<td>");
%>
<form method="post" action="ProcessUserServlet">
<input type="image" name="action" value="DELETE" src="/CampusSystemWebGUI/image/Delete.png" title="Delete User">
<input hidden="true" name="index" value=
<%
out.println("\"" + index.toString() + "\"");
%>
>
</form>
<%
index++;
out.println("</td>");
out.println("</tr>");
}
%>
</table>
</div>
<div>
<a href="/CampusSystemWebGUI">Main Menu</a>
</div>
</body>
</html>发布于 2016-01-17 15:47:26
您可以用这种方式按自然顺序添加名称。
List<String> names = mySystemUsers.getUserList().stream()
.map(u -> u.getName())
.sorted(Comparator.naturalOrder())
.collect(Collectors.toList());
for (String name: names) {
out.println("<tr>");
out.println("<td>");
out.println(name);
out.println("</td>");
out.println("</tr>");
}由于您已经配置了Java 5,所以您可以尝试这样做。
List<String> names = new ArrayList<String>();
for(Users user: mySystemUsers.getUserList()) {
names.add(user.getName());
}
Collections.sort(names);
for (String name: names) {
out.println("<tr>");
out.println("<td>");
out.println(name);
out.println("</td>");
out.println("</tr>");
}注意:单个用户实际上应该有一个名为User而不是Users的类。
注意:这需要Java 8
https://stackoverflow.com/questions/34840132
复制相似问题