bx:javainclude
<bx:javainclude modul="{bez}" [evalbx | evalbody] [quiet] [trim] />
<bx:javainclude modul="{bez}">[Text mit bx-Tags]</bx:javainclude> <!-- zeigt Ausgaben, die im JSP gemacht werden, an. Der Text im Body des Include-Tags wird geladen…nicht ausgegeben -->
<bx:javainclude modul="{bez}" evalbody>[Text mit bx-Tags]</bx:javainclude> <!-- verwirft Ausgaben, die im JSP gemacht werden, aber zeigt den Text im Body des Include-Tags an -->
<bx:javainclude modul="{bez}" evalbx>[Text mit bx-Tags]</bx:javainclude> <!-- Wertet die Ausgaben aus dem JSP mit dem bx-Parser aus. Der Text im Body des Include-Tags wird nicht ausgegeben -->
| evalbx evalbody | steuert, ob der zurückgegebene Text nochmals evaluiert wird |
|---|---|
| quiet | es werden keine Fehlermeldungen ausgegeben |
| trim | Text wird getrimmt (es werden Leerzeichen und Zeilenumbrüche am Anfang und Ende abgeschnitten) |
Beispiele
Quelltext der Seite
...
<bx:javainclude modul="Baustein-Name" maxdays="14"><div>neu!</div></bx:javainclude>
...
Quelltext des JSP-Bausteins
<%@taglib uri="/batix" prefix="batix"%>
<%@page import="com.batix.admin.container.Record,com.batix.enterprise.DAT"%>
<%@page import="java.util.Date,java.util.Calendar,com.batix.tags.ContainerLoop"%>
<batix:taginfo><%
Date limitDate;
//auslesen eines selbst definierten Parameters vom <bx:javainclude>
int days = includeTag.getIntParameter("maxdays", -1);
Calendar cal = Calendar.getInstance();
if (days>0) {
cal.add(Calendar.DATE, -days);
}
cal.set(Calendar.HOUR_OF_DAY, 0);
cal.set(Calendar.MINUTE, 0);
limitDate = cal.getTime(); //das Vergleichsdatum
//umgebende Containerschleife auslesen
ContainerLoop loop = (ContainerLoop)includeTag.findParent(ContainerLoop.class);
Record dok = loop.getCurrentRecord(); //aktueller Datensatz im Schleifendurchgang
//Datumsfeld namens 'erstellt' aus dem Containerdatensatz lesen
DAT dat = (DAT)dok.loadPublicField("erstellt", includeTag.checkConnection());
Date date = dat!=null ? dat.getDate() : null;
//wenn das gespeicherte Datum neuer als der Vergleichswert ist...
if (date!=null && date.after(limitDate)) {
StringBuffer htmlData = new StringBuffer();
//...den Body des bx:include auswerten...
includeTag.computeFrontend(htmlData);
out.print(htmlData.toString().trim()); // ...und in die Seite schreiben
//oder ab v2.5.6: out.print(includeTag.computeBody());
}
%></batix:taginfo>
Zeige Inhalt an, wenn Datensatz neuer ist als x Tage