Frage

Ich binde, meinen eigenen Vorlagenmechanismus für eine Site zu erstellen. Ich habe 2 benutzerdefinierte Tags mit dem Namen "TemplateInsert" und "Template For" erstellt. Man würde sie wie folgt verwenden:

<prefix:insert templateFile="someFile>
    <prefix:for name="body">
        some content here
    </prefix:for>

    other prefix:for tags...

</prefix:insert>

Dies funktioniert perfekt, es sei denn, es gibt JSF -Tags in Ihrem "Inhalt". Der Server scheint sie nicht zu analysieren. Weiß jemand, wie ich das beheben kann?

Prost!

War es hilfreich?

Lösung

Dies ist einer der Fülle von Gründen, warum JSP von Facelets gemäß JSF 2.0 / Java ee 6. JSP abgelöst wurde. JSP bietet sehr wenig Vorlagenfunktionen. Sie können jedoch die Beschwerden 1.x auf JSF 1.x verwenden, wenn Sie es separat gemäß ihrer Installation installieren Dokument.

Facelets bietet genau Ihre funktionale Anforderung bereits in der Box. Ein Beispiel:

template.xhtml

<!DOCTYPE html>
<html lang="en"
    xmlns="http://www.w3.org/1999/xhtml"
    xmlns:f="http://java.sun.com/jsf/core"
    xmlns:h="http://java.sun.com/jsf/html"
    xmlns:ui="http://java.sun.com/jsf/facelets"
>
    <head>
        <title><ui:insert name="title" /></title>
    </head>
    <body>
        <ui:insert name="body" />
    </body>  
</html>

page.xhtml

<ui:composition template="template.xhtml"
    xmlns:f="http://java.sun.com/jsf/core"
    xmlns:h="http://java.sun.com/jsf/html"
    xmlns:ui="http://java.sun.com/jsf/facelets"
>
    <ui:define name="title">Page title</ui:define>
    <ui:define name="body">
        <h:outputText value="JSF tags just work here." />
    </ui:define>
</ui:composition>

Ich würde sagen, dass sie als JSF View -Technologie nach Facelets entscheiden, anstatt eine auf JSP neu zu erfinden.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top