2016-01-17 3 views
1

Так что я делаю проект маленького человека, но у меня проблемы. Я хотел бы, чтобы информация загружалась в алфавитном порядке, когда страница загружается, но я не знаю, как это сделать, любые предложения? Благодарю. Это было обновлено с того, что было ранее.JavaBeans - Сортировка по алфавиту

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

Вы говорите, вы хотите, чтобы отсортировать список по полю перед добавлением их в страница? –

+0

Я бы хотел, чтобы они отображались в алфавитном порядке, когда страница загружается – NeonUniverse

ответ

0

Вы можете добавить имена в натуральном порядке таким образом.

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

+0

Я не понимаю, как это добавить. – NeonUniverse

+0

@NeonUniverse замените код, который у вас есть в '<%' to '%>' –

+0

Ive обновил мой код, так как я пытаюсь его добавить, и он не будет работать, он вызывает много ошибок? больше предложений. Благодарю. – NeonUniverse

 Смежные вопросы

  • Нет связанных вопросов^_^