1.Logik:leer
Das Tag „logic:empty“ wird verwendet, um festzustellen, ob es leer ist. Wenn leer, wird der im Tag-Körper eingebettete Inhalt verarbeitet. Dieses Tag wird in den folgenden Situationen verwendet:
Wenn das Java-Objekt null ist. Wenn das String-Objekt „“ ist. Wenn isEmpty() im java.util.Collection-Objekt true zurückgibt. Wenn isEmpty() im java.util.Map-Objekt true zurückgibt. Das folgende Codebeispiel veranschaulicht die Logik: Die Das leere Tag bestimmt, ob die Sammlung „Personen“ leer ist:
<logic:empty name="listForm" property = "persons">
<div>Die Sammlung Personen ist leer!</div>
</logic:empty>
2.Logik:notEmpty
Die Anwendung dieses Tags ist genau das Gegenteil des Tags „logic:empty“.
3.Logik:gleich
Dieses Tag ist der Gleichheitsvergleichsoperator.
Beispiel 1. Vergleichen Sie das Statusattribut des Benutzers, um festzustellen, ob es 1 ist. Wenn es 1 ist, wird „aktiviert“ ausgegeben.
Beispiel 2. Wenn der Wert im obigen Beispiel beispielsweise dynamisch abgerufen wird, muss er über bean:write ausgegeben werden, da Struts die Verschachtelung von Etiketten nicht unterstützt, kann EL zur Lösung dieses Problems verwendet werden.
Logik: gleich
Was wir hier vorstellen möchten, ist nicht nur das Tag „logic:equal(=)“, sondern eine Art von Tags, die Vergleichsvorgänge abschließen, einschließlich:
Logik:gleich(=)
Logik:notEqual(!=)
Logik:größerEqual(>=)
Logik:lessEqual(<=)
Logik:graterThan(>)
Logik:lessThan(<)
Die Verwendung dieses Tag-Typs ist ähnlich. Wir führen nur das Tag „logic:equal“ ein und überlassen den Rest Ihnen.
Mit „logic:equal“ wird ermittelt, ob sie gleich sind. Bei Gleichheit wird der im Tag-Body eingebettete Inhalt verarbeitet. Dieses Tag wird in den folgenden Situationen verwendet:
Vergleicht, ob der Wert des durch das Cookie-Attribut dieses Tags angegebenen Cookies mit dem Wert des Value-Attributs dieses Tags übereinstimmt.
Vergleicht, ob der Wert des Headers, der durch das Header-Attribut des Tags angegeben wird, mit dem Wert des Value-Attributs des Tags übereinstimmt.
Vergleicht, ob die durch das Namensattribut des Tags angegebene JSP-Bean gleich dem Wertattribut des Tags ist (das Eigenschaftsattribut wird nicht angezeigt), oder vergleicht, ob der Eigenschaftsattributwert der durch das Namensattribut des Tags angegebenen JSP-Bean gleich ist gleich dem Wertattribut des Tags Die Werte sind gleich.
Vergleicht, ob der durch das Parameterattribut des Tags (in der Anfrage) angegebene Parameterwert mit dem Wertattribut des Tags übereinstimmt.
4. Logik:notEqual
Die Bedeutung dieses Tags ist das Gegenteil von „logic:equal“ und seine Verwendung ist ähnlich, was weggelassen wird.
5. Logik: vorwärts
Dieses Tag wird verwendet, um die Seitenführung zu implementieren und die globale Weiterleitung von Konfigurationsdateien zu finden. Globale Umleitung in der Datei struts-config.xml
z.B. <logic:forward name="redirect"/>
6. Logik:größerEqual
Ist der Größer-gleich-Vergleichsoperator.
Beispiel: Wenn die Punktzahl eines Schülers größer oder gleich 60 ist, geben Sie „bestanden“ aus:
<logic:greaterEqual name="student" property="scores" value="60">
passieren
</logic:greaterEqual>
7. Logik:größer als
Dies ist der Größer-als-Vergleichsoperator und seine Verwendung ist die gleiche wie bei „logic:greaterEqual“;
8. Logik:lessEqual
Dies ist ein Kleiner-gleich-Vergleichsoperator, dessen Verwendung mit der von „logic:greaterEqual“ identisch ist.
9. Logik:lessThan
Dies ist ein Kleiner-als-Vergleichsoperator und seine Verwendung ist die gleiche wie bei „logic:greaterEqual“;
10. Logik: Übereinstimmung
Dieses Tag vergleicht Objekte auf Gleichheit;
Das Tag „logic:match“ wird zur Behandlung von Teilstring-Übereinstimmungsproblemen verwendet.
Wenn der angegebene Wert mit dem Tag übereinstimmt, wird der Inhalt seines Tag-Körpers erstellt. Dieses Tag wird in den folgenden Situationen verwendet:
Prüft, ob das Cookie mit dem angegebenen Namen mit dem Wert dieses Tags übereinstimmt.
Prüft, ob der Header mit dem angegebenen Namen mit dem Wert dieses Tags übereinstimmt.
Überprüft, ob die JSP-Bean mit dem angegebenen Namen mit dem Wert des Tags übereinstimmt oder prüft, ob der Eigenschaftsattributwert in der JSP-Bean mit dem angegebenen Namen mit dem Wert des Tags übereinstimmt.
Prüft, ob der Parameterwert des angegebenen Namens in der Anfrage mit dem Wert des Tags übereinstimmt.
Der folgende Code veranschaulicht die typische Verwendung des Tags „logic:match“:
zB0.
12. Logik:MessagePresent
Mit diesem Tag wird ermittelt, ob das ActionMessages/ActionErrors-Objekt vorhanden ist.
Das Tag „logic:messagesPresent“ wird in den folgenden Situationen verwendet:
Im Anforderungsbereich befindet sich ein ActionMessages-Objekt, und das Eigenschaftsattribut des Etiketts entspricht der Eigenschaft in ActionMessages.
Im Anforderungsbereich befindet sich ein ActionErrors-Objekt, und das Eigenschaftsattribut des Etiketts entspricht der Eigenschaft in ActionErrors.
Es gibt ein String-Objekt, konvertieren (konstruieren) Sie es in ActionMessage und fügen Sie es dann zu ActionMessages hinzu.
Es gibt ein String-Array-Objekt. Konvertieren Sie jeden String im Array in eine ActionMessage und fügen Sie ihn dann zu ActionMessages hinzu.
Wenn der Wert des Nachrichtenattributs des Tags „true“ ist, wird Globals.MESSAGE_KEY als Schlüssel für die Suche nach „Message“ im Anforderungsbereich verwendet. In anderen Fällen wird der Wert von „name“ als Schlüssel für die Suche nach „If name“ verwendet nicht angezeigt wird, ist der Standardwert Globals.ERROR_KEY.
Der folgende Code veranschaulicht die typische Verwendung des Tags „logic:messagesPresent“:
zB1.
14. Logik: vorhanden
Mit diesem Tag wird ermittelt, ob die vom Anforderungsobjekt übergebenen Parameter vorhanden sind.
Wenn der angegebene Wert erscheint, erstellt das Tag den Inhalt seines Tag-Körpers. Dieses Tag wird in den folgenden Situationen verwendet:
Prüft, ob ein Cookie mit dem angegebenen Namen vorhanden ist.
Prüft, ob ein Header mit dem angegebenen Namen erscheint.
Überprüft, ob das JSP-Bean mit dem angegebenen Namen angezeigt wird, oder prüft, ob das Eigenschaftsattribut im JSP-Bean mit dem angegebenen Namen angezeigt wird.
Prüfen Sie, ob der Parameter mit dem angegebenen Namen in der Anfrage erscheint.
Überprüft, ob der aktuell authentifizierte Benutzer der angegebenen Sicherheitsrolle zugeordnet ist.
Prüft, ob das aktuell authentifizierte Subjekt den angegebenen Namen hat.
zB1. Wenn sowohl das Benutzerobjekt als auch sein Namensattribut in der Anfrage vorhanden sind, wird die entsprechende Zeichenfolge ausgegeben:
Sehen wir uns den Unterschied zwischen diesen beiden Aktionen an:
Die Weiterleitung wird innerhalb des Servlets überhaupt nicht bemerkt und die ursprüngliche URL ändert sich nicht. Wenn der Browser neu geladen wird, wird er einfach die ursprüngliche Anfrage wiederholen.
Die Umleitung ist in zwei Schritte unterteilt: Der erste Schritt besteht darin, dass die Webanwendung dem Browser die zweite URL mitteilt und der Browser dann eine Anfrage an die zweite URL sendet.
Die Weiterleitung ist langsamer als die Weiterleitung, da der Browser eine zweite Anfrage stellen muss. Beachten Sie außerdem, dass die Beans im ersten Anforderungsbereich (Anforderungsbereich) für die zweite Anforderung nicht sichtbar sind.
Nachdem Sie die oben beschriebenen Unterschiede verstanden haben, wissen Sie, wann Sie das Tag „logic:forward“ und wann das Tag „logic:redirect“ verwenden sollten.
Das Tag „logic:forward“ vervollständigt PageContext.forward() oder HttpServletResponse.sendRedirect(). Die Auswahl wird vom Controller bestimmt. Das Tag „logic:redirect“ vervollständigt HttpServletResponse.sendRedirect().
Wenn wir das Tag „logic:redirect“ verwenden, können wir die Basis-URL- und Abfrageparameter genau wie bei der Verwendung von „html:link“ erstellen. Wenn Sie interessiert sind, können Sie sich auf das Tag html:link beziehen.