所以我正在做一个小人项目,但遇到了问题。我希望信息在页面加载时按字母顺序加载,但是我不知道该怎么做,有什么建议吗?谢谢。它已从以前的内容进行了更新。

<%@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>

最佳答案

您可以通过这种方式以自然顺序添加名称。

    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

10-06 14:59
查看更多