Heim > Java > javaLernprogramm > Wie rufe ich statische Methoden in JSP/EL auf?

Wie rufe ich statische Methoden in JSP/EL auf?

Linda Hamilton
Freigeben: 2024-11-16 04:23:02
Original
177 Leute haben es durchsucht

How to Invoke Static Methods in JSP/EL?

Aufrufen statischer Methoden in JSP/EL

In JSP können statische Methoden nicht direkt in EL-Ausdrücken aufgerufen werden. EL ist darauf ausgelegt, nur Instanzmethoden aufzurufen.

Stellen Sie sich das folgende Szenario vor: Eine JSP-Seite ruft einen „Saldo“-Wert aus einer Datenbank ab und muss darauf basierend einen „Betrag“-Wert berechnen. Die Verwendung von Scriptlets zum Einfügen von Java-Code in JSTL-Tags wird nicht empfohlen, da Scriptlets zugunsten von EL vermieden werden sollten.

Lösungsoptionen

Hierfür gibt es zwei Hauptlösungen Problem:

1. Einschließen der statischen Methode in eine Instanzmethode

Erstellen Sie eine Getter-Methode in Ihrer Java-Bean, die die statische Methode umschließt und den berechneten Wert zurückgibt. Zum Beispiel:

public class MyBean {
    private double balance;
    
    public double getAmount() {
        return Calculate.getAmount(balance);
    }
    
    // Other getters and setters...
}
Nach dem Login kopieren

Verwenden Sie dann auf Ihrer JSP-Seite die Instanzmethode:

<c:forEach var="row" items="${rs.rows}">
    Amount: ${row.amount}
</c:forEach>
Nach dem Login kopieren

2. Deklarieren der statischen Methode als EL-Funktion

Erstellen Sie eine Datei „functions.tld“, um die statische Methode als EL-Funktion zu definieren. Zum Beispiel:

<taglib>
  <uri>http://example.com/functions</uri>
  <function>
    <name>calculateAmount</name>
    <function-class>com.example.Calculate</function-class>
    <function-signature>double getAmount(double)</function-signature>
  </function>
</taglib>
Nach dem Login kopieren

Verwenden Sie auf Ihrer JSP-Seite die EL-Funktion:

<%@taglib uri="http://example.com/functions" prefix="f" %>
...
Amount: ${f:calculateAmount(row.balance)}
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonWie rufe ich statische Methoden in JSP/EL auf?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage