bx:javainclude

Mithilfe des Tags javainclude kann eine JSP-Datei eingebunden werden, die über die Dokumentvorlagen gepflegt wird.

<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


Revision #3
Created 28 May 2026 09:30:30 by Batix
Updated 28 May 2026 14:53:31 by Batix