Ich bin neu in JSP. Ich habe versucht, MySQL und meine JSP-Seiten zu verbinden, und es funktioniert einwandfrei. Aber hier ist, was ich tun musste. Ich habe ein Tabellenattribut namens "balance". Rufen Sie es ab und verwenden Sie es, um einen neuen Wert namens "Betrag" zu berechnen. (Ich drucke nicht "Balance").
<c:forEach var="row" items="${rs.rows}">
ID: ${row.id}<br/>
Passwd: ${row.passwd}<br/>
Amount: <%=Calculate.getAmount(${row.balance})%>
</c:forEach>
Es scheint nicht möglich zu sein, Scriptlets in JSTL-Tags einzufügen.
Ein anderer Ansatz ist die Verwendung von Spring SpEL:
Wenn Sie überspringen optional
var="rowBalance"
dann<s:eval>
wird das Ergebnis des Ausdrucks zur Ausgabe drucken.quelle
'the_string_argument'
nicht mit Flucht tanzen.Bean wie StaticInterface kann ebenfalls verwendet werden
und Bohne
quelle
Settings.reset()
ist ein statischer Methodenaufruf. Lukas schlägt vor, für jede statische Methode, die von EL aufgerufen werden soll, eine wrapperartige ManagedBean mit einer nicht statischen Methode zu erstellen. Es ist eine gültige Lösung.Wenn Ihre Java-Klasse ist:
Anschließend können Sie die statische Methode 'getStatusDesc' wie unten auf der JSP-Seite aufrufen.
Verwenden Sie JSTL useBean, um die Klasse oben auf der JSP-Seite abzurufen:
Rufen Sie dann die gewünschte Funktion mit Expression Language auf:
quelle
EL 2.2 verfügt über einen eingebauten Mechanismus zum Aufrufen von Methoden. Mehr hier: Orakelseite . Es hat jedoch keinen Zugriff auf statische Methoden. Sie können es aber immer noch über eine Objektreferenz aufrufen. Aber ich benutze eine andere Lösung, die in diesem Artikel beschrieben wird: Aufrufen einer statischen Methode von EL
quelle
<web-app> → <filter>
. B. in ) massieren muss .Wenn Sie struts2 verwenden, können Sie verwenden
und verweisen Sie dann auf 'myVar' im HTML- oder HTML-Tag-Attribut als
${myVar}
quelle
Basierend auf der Antwort von @Lukas können Sie diese Bean- und Call-Methode durch Reflektion verwenden:
xhtml, in eine Befehlsschaltfläche zum Beispiel:
quelle
SEVERE [javax.enterprise.resource.webcontainer.jsf.context] (http-localhost/127.0.0.1:8080-5) java.lang.IllegalArgumentException: wrong number of arguments
.In dieser Lösung weisen wir einer Variablen einen Wert (Through Core Tag) zu und rufen dann den Wert dieser Variablen in Scriplet ab.
quelle
In Struts2 oder Webwork2 können Sie Folgendes verwenden:
Dann referenzieren Sie
#tourLanguage
in Ihrem jspquelle