Um das `<t:fieldset>`-Tag aus Apache Tomahawk durch Standard-JSF zu ersetzen und weiterhin eine Legende darzustellen, kannst du auf das reine HTML-Element `<fieldset>` mit `<legend>`... [mehr]
Um in **JSF (JavaServer Faces)** ein modales Unterfenster (Dialog) mit mehreren Buttons und Wertrückgabe zu erstellen, wird in der Praxis meist eine UI-Komponentenbibliothek wie **PrimeFaces** verwendet, da das Standard-JSF keine eigenen Dialog-Komponenten bietet. Hier ein Beispiel mit **PrimeFaces**: ### Voraussetzungen - PrimeFaces in deinem Projekt eingebunden ([PrimeFaces Download](https://www.primefaces.org/downloads/)) - JSF-fähiges Projekt (z.B. mit Maven und passender Konfiguration) --- ### 1. Dialog in der XHTML-Seite definieren ```xml <html xmlns="http://www.w3.org/1999/xhtml" xmlns:h="http://xmlns.jcp.org/jsf/html" xmlns:p="http://primefaces.org/ui"> <h:head /> <h:body> <h:form id="mainForm"> <p:commandButton value="Dialog öffnen" onclick="PF('myDialog').show(); return false;" /> <p:dialog header="Mein Dialog" widgetVar="myDialog" modal="true" resizable="false"> <h:panelGrid columns="1" cellpadding="5"> <h:outputText value="Bitte wähle eine Option:" /> <p:commandButton value="Option 1" action="#{dialogBean.option1}" oncomplete="PF('myDialog').hide();" /> <p:commandButton value="Option 2" action="#{dialogBean.option2}" oncomplete="PF('myDialog').hide();" /> </h:panelGrid> </p:dialog> <h:outputText value="Gewählte Option: #{dialogBean.selectedOption}" /> </h:form> </h:body> </html> ``` --- ### 2. Backing Bean (z.B. `DialogBean.java`) ```java import jakarta.faces.view.ViewScoped; import jakarta.inject.Named; import java.io.Serializable; @Named @ViewScoped public class DialogBean implements Serializable { private String selectedOption; public void option1() { selectedOption = "Option 1"; } public void option2() { selectedOption = "Option 2"; } public String getSelectedOption() { return selectedOption; } } ``` --- ### Hinweise - Das Dialogfenster wird mit `PF('myDialog').show();` geöffnet. - Die Buttons im Dialog rufen Methoden im Backing Bean auf und schließen das Fenster (`oncomplete`). - Die gewählte Option wird im Bean gespeichert und kann auf der Seite angezeigt oder weiterverarbeitet werden. --- **Weitere Informationen:** - [PrimeFaces Dialog Dokumentation](https://www.primefaces.org/showcase/ui/overlay/dialog.xhtml) - [PrimeFaces Getting Started](https://www.primefaces.org/gettingstarted/) --- **Ohne PrimeFaces** müsstest du auf JavaScript und eigene CSS-Lösungen zurückgreifen, was deutlich aufwändiger ist und weniger komfortabel mit JSF interagiert.
Um das `<t:fieldset>`-Tag aus Apache Tomahawk durch Standard-JSF zu ersetzen und weiterhin eine Legende darzustellen, kannst du auf das reine HTML-Element `<fieldset>` mit `<legend>`... [mehr]
Wenn in JSF (JavaServer Faces) direkt gesetzte style-Attribute an einem Tag-Element nicht berücksichtigt werden, kann das verschiedene Ursachen haben: 1. **Überschreibung durch CSS**: Exter... [mehr]
Die Komponenten `SelectBooleanCheckbox`, `PanelGrid` und `InputCalendar` aus Apache Tomahawk sind veraltet und werden in modernen JSF-Anwendungen meist durch Standard-JSF-Komponenten oder Bibliotheken... [mehr]
Um zwei Radio-Buttons und eine Schaltfläche in **eine Zeile** mit JSF (JavaServer Faces) darzustellen, kannst du das Layout mit HTML und CSS steuern. JSF-Komponenten wie `<h:selectOneRadio>... [mehr]
Die genannten Komponenten (`t:fieldset`, `t:selectOneMenu`, `t:radio`, `t:selectItems`) stammen aus Apache MyFaces Tomahawk, einer JSF-Komponentenbibliothek. Wenn du Tomahawk nicht mehr verwenden m&ou... [mehr]
Die Komponente `<t:panelGroup>` aus Apache Tomahawk wird häufig verwendet, um mehrere Komponenten zu gruppieren, ohne ein zusätzliches HTML-Element zu erzeugen (ähnlich wie das St... [mehr]