Hallo.
Ich habe ein Problem auf dessen Lösung ich nicht komme. Vielleicht habt ihr einen Rat.
Hier eine kurze Beschreibung:
JSF-Code. Es geht um das dataTable "tableContracts" in der Mitte des Codes.
Bean-Code
Vielen Dank für eure Hilfe.
Ich habe ein Problem auf dessen Lösung ich nicht komme. Vielleicht habt ihr einen Rat.
Hier eine kurze Beschreibung:
- dataTable
- Getter wird nie aufgerufen -> Tabelle immer leer
- keinerlei Fehlermeldungen
JSF-Code. Es geht um das dataTable "tableContracts" in der Mitte des Codes.
HTML:
<?xml version="1.0" encoding="ISO-8859-1" ?>
<%@ page language="java" contentType="text/html; charset=ISO-8859-1" pageEncoding="ISO-8859-1"%>
<%@ taglib prefix="f" uri="http://java.sun.com/jsf/core"%>
<%@ taglib prefix="h" uri="http://java.sun.com/jsf/html"%>
<!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:f="http://java.sun.com/jsf/core" xmlns:h="http://java.sun.com/jsf/html">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
</head>
<body>
<f:view>
<h:outputText style="font-size: 3em; font-family: Verdana" value="Activity"></h:outputText>
<h:outputText style="font-family: Verdana" value="Version: Prototyp 2"></h:outputText>
<h:graphicImage style="position: absolute; top:-0.1%; left:89%" value="/resources/pics/isys.gif"></h:graphicImage>
</hr>
<h:form id="form">
<h:panelGrid id="tableFormat" columns="1" width="800" border="1" cellpadding="0" cellspacing="5">
<h:panelGrid id="tableSelection" columns="3" border="0" cellpadding="0" cellspacing="10" width="800">
<h:panelGroup style="text-align: left;">
<h:outputLabel value="Mitarbeiter bearbeiten: " for="employeeSelection" style="font-family: Verdana; font-size: x-small"/>
<h:selectOneMenu id="employeeSelection"
value="#{EmployeeMgmtBean.employeeId}"
valueChangeListener="#{EmployeeMgmtBean.chooseEmployee}"
immediate="true"
onchange="submit();">
<f:selectItem itemValue="0" itemLabel="--- Bitte auswählen ---"/>
<f:selectItems value="#{EmployeeMgmtBean.employeeList}"/>
</h:selectOneMenu>
</h:panelGroup>
<h:panelGroup style="text-align: center;">
<h:commandButton id="newButton" value="Mitarbeiter erstellen" action="#{EmployeeMgmtBean.newEmployee}"
disabled="#{EmployeeMgmtBean.isCreateButtonDisabled}" immediate="true"/>
</h:panelGroup>
<h:panelGroup style="text-align: right;">
<h:commandButton id="saveButton" value="Speichern" action="#{EmployeeMgmtBean.saveEmployee}"
disabled="#{EmployeeMgmtBean.isSaveButtonDisabled}"/>
</h:panelGroup>
</h:panelGrid>
<!-- Eingabefelder -->
<h:panelGrid id="tableInput" columns="2" style="font-family: Verdana; font-size: x-small">
<h:panelGrid columns="2">
<h:panelGrid columns="2"> <!-- EMPLOYEE -->
<f:facet name="header">
<h:outputText value="Daten von: #{EmployeeMgmtBean.employeeName}"/>
</f:facet>
<h:outputLabel value="Vorname: *" for="firstName"/>
<h:inputText id="firstName"
value="#{EmployeeMgmtBean.employeeFirstName}"
disabled="#{EmployeeMgmtBean.isFieldDisabled}"/>
<h:outputLabel value="Nachname: *" for="lastName"/>
<h:inputText id="lastName"
value="#{EmployeeMgmtBean.employeeLastName}"
disabled="#{EmployeeMgmtBean.isFieldDisabled}"/>
<h:outputLabel value="Geburtstag: *" for="birthday"/>
<h:inputText id="birthday"
value="#{EmployeeMgmtBean.employeeDateOfBirth}"
disabled="#{EmployeeMgmtBean.isFieldDisabled}"/>
<h:outputLabel value="Datev Nummer: " for="datevNumber"/>
<h:inputText id="datevNumber"
value="#{EmployeeMgmtBean.employeeDatevNumber}"
disabled="#{EmployeeMgmtBean.isFieldDisabled}"/>
<h:outputLabel value="E-Mail Adresse: *" for="email"/>
<h:inputText id="email"
value="#{EmployeeMgmtBean.employeeEmailAdress}"
disabled="#{EmployeeMgmtBean.isFieldDisabled}"/>
<h:outputLabel value="Eintrittsdatum: *" for="entryDate"/>
<h:inputText id="entryDate"
value="#{EmployeeMgmtBean.employeeEntryDate}"
disabled="#{EmployeeMgmtBean.isFieldDisabled}"/>
<h:outputLabel value="Austrittsdatum: " for="leavingDate"/>
<h:inputText id="leavingDate"
value="#{EmployeeMgmtBean.employeeLeavingDate}"
disabled="#{EmployeeMgmtBean.isFieldDisabled}"/>
<h:outputLabel value="Mitarbeiter Status: *" for="employeeStatusSelection" style="font-family: Verdana; font-size: x-small"/>
<h:selectOneMenu id="employeeStatusSelection" value="#{EmployeeMgmtBean.employeeStatusId}"
disabled="#{EmployeeMgmtBean.isFieldDisabled}">
<f:selectItems value="#{EmployeeMgmtBean.employeeStatusList}"/>
</h:selectOneMenu>
</h:panelGrid>
<h:panelGrid columns="2"> <!-- CONTRACT -->
<h:dataTable id="tableContracts" value="#{EmployeeMmgtBean.employmentContractList}"
var="item" border="1" cellpadding="2" cellspacing="0" width="400"
style="font-family: verdana; font-size: x-small; text-align: center;">
<f:facet name="header">
<h:outputText value="Verträge des Mitarbeiters" style="font-weight: bold"></h:outputText>
</f:facet>
<h:column>
<f:facet name="header">
<h:outputText value="Typ" style="font-weight: bold"></h:outputText>
</f:facet>
<h:outputText value="#{item.contractTypeName}"></h:outputText>
</h:column>
<h:column>
<f:facet name="header">
<h:outputText value="Std./Woche" style="font-weight: bold"></h:outputText>
</f:facet>
<h:outputText value="#{item.hoursPerWeek}"></h:outputText>
</h:column>
<h:column>
<f:facet name="header">
<h:outputText value="Urlaub/Jahr" style="font-weight: bold"></h:outputText>
</f:facet>
<h:outputText value="#{item.vacationPerYear}"></h:outputText>
</h:column>
<h:column>
<f:facet name="header">
<h:outputText value="mitn. ÜStd." style="font-weight: bold"></h:outputText>
</f:facet>
<h:outputText value="#{item.overtimeTakeover}"></h:outputText>
</h:column>
<h:column>
<f:facet name="header">
<h:outputText value="von" style="font-weight: bold"></h:outputText>
</f:facet>
<h:outputText value="#{item.beginAsString}"></h:outputText>
</h:column>
<h:column>
<f:facet name="header">
<h:outputText value="bis" style="font-weight: bold"></h:outputText>
</f:facet>
<h:outputText value="#{item.endAsString}"></h:outputText>
</h:column>
</h:dataTable>
<h:commandButton id="buttonNewContract" value="Neu" action="#{EmployeeMgmtBean.newContract}"
disabled="#{EmployeeMgmtBean.isFieldDisabled}"
immediate="true"/>
<h:outputLabel value="Vertragstyp: *" for="contractTypeSelection" style="font-family: Verdana; font-size: x-small"/>
<h:selectOneMenu id="contractTypeSelection" value="#{EmployeeMgmtBean.contractTypeId}"
disabled="#{EmployeeMgmtBean.isFieldDisabled || EmployeeMgmtBean.isContractFieldDisabled}">
<f:selectItems value="#{EmployeeMgmtBean.employmentContractTypeList}"/>
</h:selectOneMenu>
<h:outputLabel value="Arbeitsstunden/Woche: *" for="vacation"/>
<h:inputText id="hoursWeek"
value="#{EmployeeMgmtBean.contractHoursPerWeek}"
disabled="#{EmployeeMgmtBean.isFieldDisabled || EmployeeMgmtBean.isContractFieldDisabled}"/>
<h:outputLabel value="Jahresurlaub in Tagen: *" for="vacation"/>
<h:inputText id="vacation"
value="#{EmployeeMgmtBean.contractVacationPerYear}"
disabled="#{EmployeeMgmtBean.isFieldDisabled || EmployeeMgmtBean.isContractFieldDisabled}"/>
<h:outputLabel value="Mitnahme der Überstunden: *" for="overtime"/>
<h:selectBooleanCheckbox id="overtime"
value="#{EmployeeMgmtBean.contractOvertimeTakeover}"
disabled="#{EmployeeMgmtBean.isFieldDisabled || EmployeeMgmtBean.isContractFieldDisabled}"/>
<h:outputLabel value="Vertragsbeginn: *" for="contractBegin"/>
<h:inputText id="contractBegin"
value="#{EmployeeMgmtBean.contractBegin}"
disabled="#{EmployeeMgmtBean.isFieldDisabled || EmployeeMgmtBean.isContractFieldDisabled}"/>
<h:outputLabel value="Vertragsende: " for="contractEnd"/>
<h:inputText id="contractEnd"
value="#{EmployeeMgmtBean.contractEnd}"
disabled="#{EmployeeMgmtBean.isFieldDisabled || EmployeeMgmtBean.isContractFieldDisabled}"/>
</h:panelGrid>
<h:panelGrid columns="2"> <!-- USER-ACCOUNT -->
<h:outputLabel value="Anmeldename: *" for="login"/>
<h:inputText id="login"
value="#{EmployeeMgmtBean.userAccountLoginName}"
disabled="#{EmployeeMgmtBean.isFieldDisabled}"/>
<h:outputLabel value="Passwort: *" for="password"/>
<h:inputSecret id="password"
value="#{EmployeeMgmtBean.userAccountPassword}"
disabled="#{EmployeeMgmtBean.isFieldDisabled}"/>
<h:outputLabel value="Passwort wiederholen: *" for="password2"/>
<h:inputSecret id="password2"
value="#{EmployeeMgmtBean.userAccountPassword2}"
disabled="#{EmployeeMgmtBean.isFieldDisabled}"/>
<h:outputLabel value="Rolle: *" for="roleSelection" style="font-family: Verdana; font-size: x-small"/>
<h:selectOneMenu id="roleSelection" value="#{EmployeeMgmtBean.roleId}"
disabled="#{EmployeeMgmtBean.isFieldDisabled}">
<f:selectItems value="#{EmployeeMgmtBean.roleList}"/>
</h:selectOneMenu>
</h:panelGrid>
<h:commandButton id="cancelButton" value="Abbrechen" action="#{EmployeeMgmtBean.cancelEdit}"
disabled="#{EmployeeMgmtBean.isCancelButtonDisabled}"/>
<h:commandButton id="saveButton2" value="Speichern" action="#{EmployeeMgmtBean.saveEmployee}"
disabled="#{EmployeeMgmtBean.isSaveButtonDisabled}"/>
</h:panelGrid>
</h:panelGrid>
</h:panelGrid>
</h:form>
</f:view>
</body>
</html>
Bean-Code
Code:
/* CONTRACT */
public List<EmploymentContractWrapper> getEmploymentContractList() {
Logger.info("getContractList: ");
List<EmploymentContractWrapper> contractWrapperList = new ArrayList<EmploymentContractWrapper>();
if (employee != null && !isEmployeeChanged) {
for (EmploymentContract contract : employee.getEmploymentContractList()) {
try {
contractWrapperList.add(new EmploymentContractWrapper(contract));
} catch (ActivityException e) {
// Felher ausdrucken und weiter machen
Logger.warn(e.getMessage());
}
}
}
Logger.info("getContractList: " + contractWrapperList.size());
return contractWrapperList;
}
Vielen Dank für eure Hilfe.