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 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