Rumah >Java >javaTutorial >Bagaimanakah saya boleh menggunakan kaedah statik dalam JSP/EL?
Memanggil Kaedah Statik dalam JSP/EL
Dalam JSP, anda selalunya perlu melakukan pengiraan atau mengakses kaedah statik daripada kelas Java. Walau bagaimanapun, menggunakan kaedah statik secara langsung dalam Bahasa Ungkapan (EL) tidak disokong.
Senario:
Anda mempunyai jadual dengan atribut "keseimbangan" dan ingin mengira nilai baharu yang dipanggil "jumlah" menggunakan kaedah statik dalam kelas "Kira". Skrip kecil yang dibenamkan dalam teg JSTL, seperti yang anda telah cuba, tidak disyorkan.
Sekatan EL:
EL hanya boleh menggunakan kaedah contoh pada kelas yang telah anda buat sebagai JavaBeans . Kaedah statik, yang bukan sebahagian daripada tika, tidak boleh diakses terus melalui EL.
Penyelesaian:
Buat Contoh Kaedah:
Daftar Fungsi EL Tersuai:
Contoh dengan Kaedah Contoh:
public class Bean { private double balance; public double getAmount() { return Calculate.getAmount(balance); } // ...other methods }
<c:forEach var="row" items="${rs.rows}"> Amount: ${row.amount} <!-- Invoke instance method --> </c:forEach>
Contoh dengan EL Tersuai Fungsi:
<!-- functions.tld --> <taglib> ... <function> <name>calculateAmount</name> <function-class>com.example.Calculate</function-class> <function-signature>double getAmount(double)</function-signature> </function> ... </taglib>
<%@taglib uri="http://example.com/functions" prefix="f"%> ... Amount: ${f:calculateAmount(row.balance)} <!-- Invoke custom EL function -->
Atas ialah kandungan terperinci Bagaimanakah saya boleh menggunakan kaedah statik dalam JSP/EL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!