1.lógica: vacía
La etiqueta lógica: vacía se utiliza para determinar si está vacía. Si está vacío, se procesará el contenido incrustado en el cuerpo de la etiqueta. Esta etiqueta se utiliza en las siguientes situaciones:
Cuando el objeto Java es nulo Cuando el objeto String es "" Cuando isEmpty() en el objeto java.util.Collection devuelve verdadero Cuando isEmpty() en el objeto java.util.Map devuelve verdadero El siguiente ejemplo de código ilustra la lógica: La etiqueta vacía determina si la colección de personas está vacía:
<logic:nombre vacío="listForm" propiedad = "personas">
<div>¡La colección personas está vacía!</div>
</logic:vacío>
2.lógica: no vacía
La aplicación de esta etiqueta es exactamente lo opuesto a la lógica: etiqueta vacía.
3.lógica:igual
Esta etiqueta es el operador de comparación igual.
Por ejemplo, 1. Compare el atributo de estado del usuario para ver si es 1. Si es 1, genere "habilitado";
Por ejemplo, si el valor en el ejemplo anterior se obtiene dinámicamente, por ejemplo, debe generarse a través de bean: write, debido a que struts no admite el anidamiento de etiquetas, se puede usar EL para resolver este problema.
lógica:igual
Lo que queremos presentar aquí no es solo la etiqueta logic:equal(=), sino un tipo de etiquetas que completan operaciones de comparación, que incluyen:
lógica:igual(=)
lógica: notEqual(!=)
lógica: mayorEqual(>=)
lógica: menos igual (<=)
lógica: rallador que (>)
lógica: menos que (<)
El uso de este tipo de etiqueta es similar. Solo introducimos la etiqueta lógica: igual y dejamos el resto a usted.
lógica: igual se utiliza para determinar si son iguales. Si es igual, se procesará el contenido incrustado en el cuerpo de la etiqueta. Esta etiqueta se utiliza en las siguientes situaciones:
Compara si el valor de la cookie especificada por el atributo de cookie de esta etiqueta es igual al valor del atributo de valor de esta etiqueta.
Compara si el valor del encabezado especificado por el atributo de encabezado de la etiqueta es igual al valor del atributo de valor de la etiqueta.
Compara si el JSP Bean especificado por el atributo de nombre de la etiqueta es igual al atributo de valor de la etiqueta (el atributo de propiedad no aparece) o compara si el valor del atributo de propiedad del JSP Bean especificado por el atributo de nombre de la etiqueta es igual al atributo de valor de la etiqueta Los valores son iguales.
Compara si el valor del parámetro especificado por el atributo de parámetro de la etiqueta (en la solicitud) es igual al atributo de valor de la etiqueta.
4. lógica: no igual
El significado de esta etiqueta es opuesto a la lógica: igual, y su uso es similar, que se omite.
5. lógica: adelante
Esta etiqueta se utiliza para implementar la guía de la página y encontrar el avance global de los archivos de configuración. Redirección global en el archivo struts-config.xml
por ejemplo, <lógica:reenviar nombre="redireccionar"/>
6. lógica: mayorIgual
Es el operador de comparación mayor o igual.
por ejemplo, cuando la puntuación de un estudiante es mayor o igual a 60, genera "aprobado":
<logic:greaterEqual nombre="estudiante" propiedad="puntuaciones" valor="60">
aprobar
</logic:mayorEqual>
7. lógica: mayor que
Este es el operador de comparación mayor que y su uso es el mismo que el de la lógica: mayorEqual;
8. lógica: menos igual
Este es un operador de comparación menor o igual y su uso es el mismo que el de la lógica: mayorEqual;
9. lógica: menos que
Este es un operador de comparación menor que y su uso es el mismo que el de la lógica: mayorEqual;
10. lógica: coincidencia
Esta etiqueta compara objetos para determinar su igualdad;
La etiqueta logic:match se utiliza para manejar problemas de coincidencia de subcadenas.
Si el valor especificado coincide con la etiqueta, se creará el contenido del cuerpo de su etiqueta. Esta etiqueta se utiliza en las siguientes situaciones:
Comprueba si la cookie con el nombre especificado coincide con el valor de esta etiqueta.
Comprueba si el encabezado con el nombre especificado coincide con el valor de esta etiqueta.
Comprueba si el JSP Bean con el nombre especificado coincide con el valor de la etiqueta o comprueba si el valor del atributo de propiedad en el JSP Bean con el nombre especificado coincide con el valor de la etiqueta.
Comprueba si el valor del parámetro del nombre especificado en la solicitud coincide con el valor de la etiqueta.
El siguiente código ilustra el uso típico de la etiqueta logic:match:
por ejemplo0.
12. lógica: mensajePresente
Esta etiqueta se utiliza para determinar si el objeto ActionMessages/ActionErrors existe;
La etiqueta logic:messagesPresent se utiliza en las siguientes situaciones:
Hay un objeto ActionMessages en el alcance de la solicitud y el atributo de propiedad de la etiqueta corresponde a la propiedad en ActionMessages.
Hay un objeto ActionErrors en el alcance de la solicitud y el atributo de propiedad de la etiqueta corresponde al atributo en ActionErrors.
Hay un objeto String, conviértalo (constrúyalo) en ActionMessage y luego agréguelo a ActionMessages.
Hay un objeto String Array, convierta cada String en la matriz en un ActionMessage y luego agréguelo a ActionMessages.
Cuando el valor del atributo de mensaje de la etiqueta es verdadero, Globals.MESSAGE_KEY se usará como clave para buscar Mensaje en el alcance de la solicitud. En otros casos, el valor de nombre se usará como clave para buscar nombre. no aparece, el valor predeterminado es Globals.ERROR_KEY.
El siguiente código ilustra el uso típico de la etiqueta logic:messagesPresent:
por ejemplo1.
14. lógica: presente
Esta etiqueta se utiliza para determinar si los parámetros pasados por el objeto de solicitud existen.
Si aparece el valor especificado, la etiqueta creará el contenido de su cuerpo de etiqueta. Esta etiqueta se utiliza en las siguientes situaciones:
Comprueba si está presente una cookie con el nombre especificado.
Comprueba si aparece un encabezado con el nombre especificado.
Comprueba si aparece el JSP Bean con el nombre especificado o comprueba si aparece el atributo de propiedad en el JSP Bean con el nombre especificado.
Compruebe si aparece el parámetro con el nombre especificado en la solicitud.
Comprueba si el usuario actualmente autenticado está asociado con el rol de seguridad especificado.
Comprueba si el sujeto actualmente autenticado tiene el nombre especificado.
Por ejemplo, cuando tanto el objeto de usuario como su atributo de nombre existen en la solicitud, se genera la cadena correspondiente:
Veamos la diferencia entre estas dos acciones:
El reenvío se ejecuta dentro del servlet. El navegador no se dará cuenta de esta acción en absoluto y la URL original no cambiará si se recarga el navegador, simplemente repetirá la solicitud original.
La redirección se divide en dos pasos: el primer paso es que la aplicación web le dice al navegador la segunda URL y luego el navegador envía una solicitud a la segunda URL.
El redireccionamiento es más lento que el reenvío porque el navegador tiene que realizar una segunda solicitud. También tenga en cuenta que los beans en el alcance de la primera solicitud (alcance de la solicitud) no son visibles para la segunda solicitud.
Después de comprender las diferencias descritas anteriormente, sabrá cuándo usar la etiqueta logic:forward y cuándo usar la etiqueta logic:redirect.
La etiqueta lógica: adelante completa PageContext.forward() o HttpServletResponse.sendRedirect() La elección la determina el controlador. La etiqueta logic:redirect completa HttpServletResponse.sendRedirect().
Cuando usamos la etiqueta logic:redirect, podemos construir la URL base y los parámetros de consulta tal como usamos html:link. Si está interesado, puede consultar la etiqueta html:link.