uebung5/aufgabe7

This commit is contained in:
2026-02-12 20:55:24 +01:00
parent 0fb880cf8b
commit 28ff87a2a0
3 changed files with 132 additions and 0 deletions

View File

@@ -51,6 +51,12 @@
<artifactId>lombok</artifactId> <artifactId>lombok</artifactId>
<version>1.18.30</version> <version>1.18.30</version>
</dependency> </dependency>
<dependency>
<groupId>org.primefaces</groupId>
<artifactId>primefaces</artifactId>
<version>15.0.3</version>
<classifier>jakarta</classifier>
</dependency>
</dependencies> </dependencies>
<build> <build>
<finalName>demo</finalName> <finalName>demo</finalName>

View File

@@ -0,0 +1,92 @@
package uebung;
import java.io.Serializable;
import java.util.ArrayList;
import jakarta.enterprise.context.SessionScoped;
import jakarta.faces.component.html.HtmlSelectOneMenu;
import jakarta.faces.event.ActionEvent;
import jakarta.faces.model.SelectItem;
import jakarta.inject.Named;
@Named
@SessionScoped
public class SelectOneMenuBean implements Serializable {
private HtmlSelectOneMenu menu1;
private ArrayList<SelectItem> list1;
private ArrayList<SelectItem> list2;
private String auswahl1;
private String auswahl2;
public SelectOneMenuBean() {
menu1 = new HtmlSelectOneMenu();
list1 = new ArrayList<SelectItem>();
list1.add(new SelectItem("---"));
list1.add(new SelectItem("Buchstaben"));
list1.add(new SelectItem("Zahlen"));
list1.add(new SelectItem("Farben"));
list2 = new ArrayList<SelectItem>();
list2.add(new SelectItem("---"));
}
public HtmlSelectOneMenu getMenu1() {
return menu1;
}
public void setMenu1(HtmlSelectOneMenu menu1) {
this.menu1 = menu1;
}
public ArrayList<SelectItem> getList1() {
return list1;
}
public void setList1(ArrayList<SelectItem> list1) {
this.list1 = list1;
}
public ArrayList<SelectItem> getList2() {
return list2;
}
public void setList2(ArrayList<SelectItem> list2) {
this.list2 = list2;
}
public String getAuswahl2() {
return auswahl2;
}
public void setAuswahl2(String auswahl2) {
this.auswahl2 = auswahl2;
}
public void listener() {
auswahl1 = (String)menu1.getValue();
list2.clear();
if(auswahl1 != null) {
list2.add(new SelectItem("---"));
if(auswahl1.equalsIgnoreCase("Farben")) {
list2.add(new SelectItem("Rot"));
list2.add(new SelectItem("Grün"));
list2.add(new SelectItem("Blau"));
}
else if(auswahl1.equalsIgnoreCase("Buchstaben")) {
list2.add(new SelectItem("A"));
list2.add(new SelectItem("B"));
list2.add(new SelectItem("C"));
}
else if(auswahl1.equalsIgnoreCase("Zahlen")) {
list2.add(new SelectItem("1"));
list2.add(new SelectItem("2"));
list2.add(new SelectItem("3"));
}
}
}
public void anzeigen(ActionEvent e) {
System.out.println(auswahl1);
System.out.println(auswahl2);
}
}

View File

@@ -0,0 +1,34 @@
<?xml version="1.0" encoding="ISO-8859-1" ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:ui="jakarta.faces.facelets"
xmlns:f="jakarta.faces.core"
xmlns:h="jakarta.faces.html"
xmlns:p="http://primefaces.org/ui">
<h:head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
<title>PrimeFaces Uebung</title>
</h:head>
<body>
<f:view>
<h:form>
<h:selectOneMenu id="inhalt1" binding="#{selectOneMenuBean.menu1}">
<f:selectItems value="#{selectOneMenuBean.list1}" />
<p:ajax event="change"
process="inhalt1"
listener="#{selectOneMenuBean.listener}"
update="inhalt2" />
</h:selectOneMenu>
<br/>
<br/>
<h:selectOneMenu id="inhalt2" value="#{selectOneMenuBean.auswahl2}">
<f:selectItems value="#{selectOneMenuBean.list2}" />
</h:selectOneMenu>
<br/>
<br/>
<p:commandButton id="button" value="OK" actionListener="#{selectOneMenuBean.anzeigen}" />
</h:form>
</f:view>
</body>
</html>