ZB: h:inputTextwird a rendern "input type='text'". Welches jsf-Tag kann ein "div"Tag rendern ?
ZB: h:inputTextwird a rendern "input type='text'". Welches jsf-Tag kann ein "div"Tag rendern ?
Antworten:
Sie können eine DIVKomponente mit dem erstellen <h:panelGroup/>. Standardmäßig <h:panelGroup/>generiert das ein SPAN im HTML-Code.
Wenn Sie jedoch angeben layout="block", ist die Komponente eine DIVim generierten HTML-Code.
<h:panelGroup layout="block"/>
divTag selbst verwenden? Was kann das Problem sein, wenn überhaupt?
divTag verwenden, aber in diesem Fall ist diese Komponente nicht Teil des JSF-Komponentenbaums (dh nicht im Java-Code verfügbar). Darüber hinaus können Sie es nicht direkt mit Ajax aktualisieren (außer natürlich, wenn Sie die Aktualisierung direkt in einem Teil Ihres JavaScript-Codes durchführen).
styleoder ein styleClassAttribut benötigen , damit eine divpassiert ... was die Geschichte meiner Meinung nach absolut seltsam macht: Eine Ebene <h:panelGroup layout="block">wird eine <span>? Das ergibt für mich keinen Sinn.
In JSF 2.2 können Passthrough- Elemente verwendet werden:
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:jsf="http://xmlns.jcp.org/jsf">
...
<div jsf:id="id1" />
...
</html>
Die Anforderung besteht darin, mindestens ein Attribut im Element zu haben, das den jsf-Namespace verwendet.
Abgesehen von der <h:panelGroup>Komponente (was für mich eine kleine Überraschung ist) können Sie ein <f:verbatim>Tag mit dem Escape-Parameter verwenden, falseum ein beliebiges Markup zu generieren. Beispielsweise:
<f:verbatim escape="true">
<div id="blah"></div>
</f:verbatim>
Beachten Sie, dass es etwas weniger elegant ist als die panelGroupLösung, da Sie dies sowohl für das Start- als auch für das End-Tag generieren müssen, wenn Sie einen Ihrer JSF-Codes mit dem divTag umschließen möchten .
Alternativ haben alle wichtigen UI-Frameworks ein divKomponenten-Tag, oder Sie können Ihr eigenes schreiben.
Sie können die Tomahawk-Komponente von myfaces verwenden
http://myfaces.apache.org/tomahawk-project/tomahawk12/tagdoc/t_div.html