Cómo mostrar listas encapsuladas en Freemarker
2. Palabra clave: Freemarker, lista transversal de Freemarker
3. En las aplicaciones de Freemarker, las listas a menudo se recorren para obtener los datos requeridos y clasificarlo y procesarlo después de presentarlo al usuario. Entonces, ¿cómo se itera a través de una Lista en Freemarker y se clasifican los datos en la Lista de manera adecuada?
4. A través de la siguiente introducción, creo que encontrarás la respuesta.
5. 1. Introduzca brevemente el comando de lista en Freemarker.
6 Para recorrer la lista en Freemarker, debe usar el comando de lista, es decir: <#listar secuencia como elemento. >.. .
7. secuencia es la expresión del conjunto, elemento es el nombre de la variable del bucle y no puede ser una expresión.
8. Al recorrer la secuencia, el valor de la variable recorrida se guardará en el elemento.
9. Ejemplos:
10. <#listar usuarioListar como usuario>
11. p>
13. userList encapsula muchos objetos de usuario, y estos objetos se atraviesan en userList. Cuando iteramos sobre la lista de usuarios, guardamos el valor del objeto Usuario iterado en la variable de usuario anterior. Entonces, cuando obtengamos el valor, podemos usar ${user.userName } para obtener el valor de la propiedad userName del objeto Usuario.
14. La instrucción Lista también implica dos variables de bucle:
15. item_index: la posición del elemento de la iteración actual en todas las iteraciones, un valor numérico.
16.item_has_next: se utiliza para determinar si el elemento de iteración actual es el último de todos los elementos de iteración.
17. Nota: Cuando utilice las dos variables de bucle anteriores, asegúrese de reemplazar el elemento con su propio nombre de variable de bucle definido. En realidad, el elemento es un prefijo.
18. Por ejemplo, si usa <# list list como l>.... definición, entonces use l_index,l_has_next.
19.
20. Durante el ciclo, si desea salir del ciclo, puede usar la combinación de instrucciones break, es decir, usar <#break> para romper. fuera del circuito.
21.II. Ordenar la lista en Freemarker
22 Generalmente, nuestra operación de clasificación se implementa a través de la capa DAO. Si queremos cambiar la clasificación en cualquier momento, debemos modificar el código de la capa DAO, lo cual es realmente un inconveniente. Sin embargo, Freemarker nos proporciona este método de clasificación para solucionar este problema.
23.1. Función de clasificación ascendente
24. La clasificación ordena la secuencia (secuencia) y requiere que las variables en la secuencia sean: cadenas (ordenadas alfabéticamente), números, valor de fecha.
25.<#list list?sort as l>...
26.2. función sort_by
27. -variables, la clasificación se realiza en función del valor correspondiente a la variable, por ejemplo:
28 Por ejemplo:
28.<#list userList?sort_by("age") as user>..
29.age es una propiedad del objeto Usuario y la clasificación se realiza según el valor de la edad.
30.3. Función de ordenación descendente inversa
31. <#list list? inversa se puede utilizar con sort_by
32 Si los usuarios quieren ordenar por edad en orden descendente, puede escribir <#list userList?sort_by("age")?reverse as user>... p>
33. Aplicación de muestra para atravesar List
34. A través de la creación anterior, creo que ya tienes una cierta comprensión de cómo Freemarker atraviesa List. A continuación, dejemos de tener sentido y comencemos a hacer una. solicitud.
35.Clase de usuario
36.Usuario de clase pública{
37. Nombre de usuario de cadena privada
38.
41.user.ftl
42. <#--Lista de recorrido de Freemarker-->
43. Recorrido simple de la lista:
44. . < #listar usuarioListar como usuario>
45 Nombre de usuario: ${user.userName}
46. Edad: ${user.age}
48.
48.
49.
50.<# --Freemarker. Lista transversal y aplicar la variable implícita de lista item_index-->
51 Utilice item_index:
52. : ${user.userName}
55. Contraseña: ${user.userPassword}
56. Edad: ${user.age}
57.
57.
58.<# --Freemarker recorre la lista y aplica la variable implícita de la lista item_has_next-->
59.
60.
64. <#if !user_has_next>
65.*** El último usuario de ${userList?size} es: ${ usuario .userName}
66.
67.
68.<# --Freemarker recorre la lista y ordena por edad del usuario en orden ascendente -->
69.Ordenar la lista en orden ascendente por edad del usuario:
70.<#list userList?sort_by("age") as user>
71. Nombre de usuario: ${user.userName}
72. Contraseña: ${user.userPassword}
Edad: ${user.age}
74.
74.
75.
76. <##Recorrido libre del marcador:
76.-- Lista transversal de Freemarker Y ordenar por edad del usuario en orden descendente -->
77. Ordenar por edad del usuario en orden descendente:
78. )?reverse como usuario>
79. Nombre de usuario: ${user.userName}
80. Contraseña: ${user.userPassword}
81. : ${user.age }
82.
82.
83.
84.<# --Freemarker atravesará la lista Cuando el usuario tiene más de Detener la salida a los 21 años -->
85:
86.
rse como usuario>
87: Nombre de usuario: ${ www.hbbz08.com usuario.nombredeusuario}
88. Contraseña: ${ usuario.contraseña de usuario}
89. Edad: ${ user.age}
90.
90. <#if (user.age>21) >
91. rompergt;
91.
92.
93.
94.Clase ClientTest
95. .public class ClientTest{
96.public static List initUserList(){
97.
98.User usuario1=new User()
p>
99. usuario1.setUserName("ZhangSan");
100.