Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package model;
- import java.io.Serializable;
- import java.util.ArrayList;
- import java.util.List;
- public class Schueler implements Serializable{
- private String nr;
- private String nachname;
- private String vorname;
- private char geschlecht;
- private static final List<Schueler> klasse;
- static {
- klasse = new ArrayList<>();
- klasse.add(new Schueler(1, "Nachname1", "Vorname1", 'M'));
- klasse.add(new Schueler(2, "Nachname2", "Vorname2", 'W'));
- klasse.add(new Schueler(3, "Nachname3", "Vorname3", 'M'));
- klasse.add(new Schueler(4, "Nachname4", "Vorname4", 'M'));
- klasse.add(new Schueler(5, "Nachname5", "Vorname5", 'M'));
- klasse.add(new Schueler(6, "Nachname6", "Vorname6", 'M'));
- }
- public Schueler() {
- this(0, "Name", "Name", 'M');
- }
- private Schueler(int nr, String nachname, String vorname, char geschlecht) {
- this.nr = nr + "";
- this.nachname = nachname;
- this.vorname = vorname;
- this.geschlecht = geschlecht;
- }
- public static List<Schueler> getKlasse() {
- return klasse;
- }
- public String getNachname() {
- return nachname;
- }
- public String getNr() {
- return nr;
- }
- public int getNrInt(){
- return Integer.parseInt(nr);
- }
- public String getVorname() {
- return vorname;
- }
- public char getGeschlecht() {
- return geschlecht;
- }
- public void setNr(String nr) {
- this.nr = nr;
- }
- public void setGeschlecht(char geschlecht) {
- this.geschlecht = geschlecht;
- }
- public void setNachname(String nachname) {
- this.nachname = nachname;
- }
- public void setVorname(String vorname) {
- this.vorname = vorname;
- }
- @Override
- public String toString() {
- return vorname + " " + nachname;
- }
- }
- package controller;
- import java.io.Serializable;
- import java.util.ArrayList;
- import java.util.List;
- import javax.inject.Named;
- import javax.enterprise.context.SessionScoped;
- import javax.faces.application.FacesMessage;
- import javax.faces.bean.ManagedBean;
- import javax.faces.context.FacesContext;
- import model.Schueler;
- @Named(value = "schuelerCon")
- @ManagedBean
- @SessionScoped
- public class SchuelerController implements Serializable {
- List<Schueler> klasse = new ArrayList<>();
- List<Schueler> filteredKlasse;
- List<Schueler> selectedKlasse = new ArrayList<>();
- String username;
- String password;
- boolean loggedIn = false;
- Schueler newSchueler = new Schueler();
- boolean weiblich;
- public List<Schueler> getFilteredKlasse() {
- return filteredKlasse;
- }
- public void setFilteredKlasse(List<Schueler> filteredKlasse) {
- this.filteredKlasse = filteredKlasse;
- }
- public SchuelerController() {
- }
- public List<Schueler> getKlasse() {
- return klasse;
- }
- public void setKlasse(List<Schueler> klasse) {
- this.klasse = klasse;
- }
- public List<Schueler> getSelectedKlasse() {
- return selectedKlasse;
- }
- public void setSelectedKlasse(List<Schueler> selectedKlasse) {
- this.selectedKlasse = selectedKlasse;
- }
- public void loadKlasse() {
- klasse = Schueler.getKlasse();
- filteredKlasse = klasse;
- }
- public void login() {
- FacesMessage message = null;
- if (username != null && username.equals("admin") && password != null && password.equals("pwd01")) {
- loggedIn = true;
- loadKlasse();
- message = new FacesMessage(FacesMessage.SEVERITY_INFO, "Welcome", username);
- } else {
- loggedIn = false;
- message = new FacesMessage(FacesMessage.SEVERITY_WARN, "Loggin Error", "Invalid credentials");
- }
- FacesContext.getCurrentInstance().addMessage(null, message);
- }
- public String getUsername() {
- return username;
- }
- public void setUsername(String username) {
- this.username = username;
- }
- public String getPassword() {
- return password;
- }
- public void setPassword(String password) {
- this.password = password;
- }
- public boolean isLoggedIn() {
- return loggedIn;
- }
- public void setLoggedIn(boolean loggedIn) {
- this.loggedIn = loggedIn;
- }
- public void addSchueler() {
- if (weiblich) {
- newSchueler.setGeschlecht('W');
- } else {
- newSchueler.setGeschlecht('M');
- }
- String nr = "" + (klasse.stream().max((x1, x2) -> x1.getNrInt() - x2.getNrInt()).get().getNrInt() + 1);
- newSchueler.setNr(nr);
- klasse.add(newSchueler);
- FacesMessage message = new FacesMessage(FacesMessage.SEVERITY_INFO, "Saved", "Benutzer added!: " + newSchueler);
- FacesContext.getCurrentInstance().addMessage(null, message);
- newSchueler = new Schueler();
- }
- public void deleteSchueler() {
- if (!loggedIn) {
- System.out.println("Not logged in");
- return;
- }
- if (!klasse.isEmpty()) {
- System.out.println("remove Klasse");
- klasse.removeAll(selectedKlasse);
- }
- }
- public Schueler getNewSchueler() {
- return newSchueler;
- }
- public void setNewSchueler(Schueler newSchueler) {
- this.newSchueler = newSchueler;
- }
- public boolean isWeiblich() {
- return weiblich;
- }
- public void setWeiblich(boolean weiblich) {
- this.weiblich = weiblich;
- }
- }
- <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
- <html xmlns="http://www.w3.org/1999/xhtml"
- xmlns:h="http://java.sun.com/jsf/html"
- xmlns:f="http://java.sun.com/jsf/core"
- xmlns:p="http://primefaces.org/ui">
- <h:head>
- <meta name="viewport" content="width=device-width, initial-scale=1.0"/>
- <title>PrimeFaces Dialog</title>
- <style>
- body{
- background-color: appworkspace;
- }
- </style>
- <script type="text/javascript">
- function handleLoginRequest(xhr, status, args) {
- if (args.validationFailed || !args.loggedIn) {
- PF('dlg').jq.effect("shake", {times: 5}, 100);
- } else {
- PF('dlg').hide();
- }
- }
- </script>
- </h:head>
- <h:body>
- <h:form id="loginForm">
- <h:panelGrid columns="1">
- <p:outputLabel value="LoggedIn: #{schuelerCon.loggedIn}" style="color: whitesmoke"/>
- <p:commandButton type="button" value="Login" onclick="PF('dlg').show();" title="login"/>
- </h:panelGrid>
- <p:growl id="growl" sticky="true" showDetail="true" life="3000" />
- <p:dialog header="Login" widgetVar="dlg" resizable="false">
- <h:panelGrid columns="2" cellpadding="5">
- <h:outputLabel for="username" value="Username:" />
- <p:inputText id="username" value="#{schuelerCon.username}" required="true" label="username" />
- <h:outputLabel for="password" value="Password:" />
- <p:password id="password" value="#{schuelerCon.password}" required="true" label="password" />
- <f:facet name="footer">
- <p:commandButton value="Login" update="growl loginForm :dataForm" actionListener="#{schuelerCon.login()}"
- oncomplete="handleLoginRequest(xhr, status, args)"/>
- </f:facet>
- </h:panelGrid>
- </p:dialog>
- </h:form>
- <h:form id="dataForm" style="position: absolute; top: 5px; left: 350px;">
- <p:dataTable value="#{schuelerCon.klasse}"
- var="schueler"
- filteredValue="#{schuelerCon.filteredKlasse}"
- emptyMessage="Kein Schüler gefunden!"
- selection="#{schuelerCon.selectedKlasse}"
- rowKey="#{schueler}"
- style="width:800px;height:100px; text-align: center;"
- >
- <f:facet name="header">
- Schüler
- </f:facet>
- <p:column selectionMode="multiple" style="width:18px;"/>
- <p:column>
- <f:facet name="header">Katalognummer</f:facet>
- <h:outputText value="#{schueler.nr}"/>
- </p:column>
- <p:column filterBy="#{schueler.nachname}" filterMatchMode="contains">
- <f:facet name="header">Zuname</f:facet>
- <h:outputText value="#{schueler.nachname}"/>
- </p:column>
- <p:column filterBy="#{schueler.vorname}" filterMatchMode="contains">
- <f:facet name="header">Vorname</f:facet>
- <h:outputText value="#{schueler.vorname}"/>
- </p:column>
- </p:dataTable>
- </h:form>
- <h:form id="buttonForm" style="position: absolute; top: 100px; left: 5px;">
- <h:panelGrid columns="3" cellpadding="5">
- <p:commandButton value="Show" type="button" update=":sdataForm" onclick="PF('dlg1').show();" />
- <p:commandButton value="Add" type="button" onclick="PF('dlg2').show();" />
- <p:commandButton value="Delete" type="button" onclick="PF('dlg3').show();" actionListener="#{schuelerCon.deleteSchueler()}" update=":dataForm"/>
- </h:panelGrid>
- <p:dialog header="Show Dialog" widgetVar="dlg1" minHeight="40">
- <h:form id="sdataForm">
- <p:dataTable value="#{schuelerCon.selectedKlasse}"
- var="sschueler"
- style="text-align: center;"
- >
- <p:column>
- <f:facet name="header">Katalognummer</f:facet>
- <h:outputText value="#{sschueler.nr}"/>
- </p:column>
- <p:column>
- <f:facet name="header">Zuname</f:facet>
- <h:outputText value="#{sschueler.nachname}"/>
- </p:column>
- <p:column>
- <f:facet name="header">Vorname</f:facet>
- <h:outputText value="#{sschueler.vorname}"/>
- </p:column>
- </p:dataTable>
- </h:form>
- </p:dialog>
- <p:dialog header="Add Dialog" widgetVar="dlg2" modal="true" height="150" width="320">
- <h:panelGrid columns="3">
- <h:outputLabel value="Vorname: "/>
- <h:inputText id="vn" value="#{schuelerCon.newSchueler.vorname}"
- required="true" requiredMessage="Vorname erforderlich!"/>
- <h:message for="vn" />
- <h:outputLabel value="Zuname: "/>
- <h:inputText id="zn" value="#{schuelerCon.newSchueler.nachname}"
- required="true" requiredMessage="Zuname erforderlich!" />
- <h:message for="zn" />
- <h:outputLabel value="Weiblich: "/>
- <h:selectBooleanCheckbox id="sex2" value="#{schuelerCon.weiblich}" />
- <h:message for="sex2" />
- <p:commandButton id="cb" actionListener="#{schuelerCon.addSchueler()}" value="Save"/>
- </h:panelGrid>
- </p:dialog>
- <p:dialog header="Delete Dialog" widgetVar="dlg3" showEffect="explode" hideEffect="bounce" height="50">
- <p:outputLabel value="Schüler erfolgreich gelöscht"/>
- </p:dialog>
- </h:form>
- </h:body>
- </html>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement