# bx:javainclude

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

```xml
<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**

```xml
 ...
 <bx:javainclude modul="Baustein-Name" maxdays="14"><div>neu!</div></bx:javainclude>
 ... 
```
**Quelltext des JSP-Bausteins**

```xml
<%@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