【问题标题】:JavaBeans - Sorting by alphabeticalJavaBeans - 按字母顺序排序
【发布时间】:2016-01-17 15:36:17
【问题描述】:

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

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

【问题讨论】:

  • 您是说要在将列表添加到页面之前按字段对列表进行排序吗?
  • 我希望它们在页面加载时按字母顺序显示

标签: java html list sorting alphabetical


【解决方案1】:

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

    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

【讨论】:

  • 我不明白如何添加这个。
  • @NeonUniverse 将&lt;% 中的代码替换为%&gt;
  • 我已经更新了我的代码,因为我尝试添加它并且它不会工作它会引发很多错误?还有什么建议。谢谢。
  • 我建议你阅读错误。他们可能想告诉你一些事情。你有哪个版本的 Java?
  • 您好,我正在使用 java 8,我已经阅读了错误但我不明白,我的 java 知识很基础。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2012-11-08
  • 2011-01-30
  • 2019-04-05
  • 2012-04-08
  • 2022-01-06
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多