Spring MVC. Das Auffüllen der dropdown-Liste aus verschiedenen Objekten
Hier ist die knifflige Frage, ich habe nächste jspx:
<form:form modelAttribute="employee" id="employeeUpdateForm" method="post">
<form:select path="departmentId">
<form:options items="${departments}" />
</form:select>
<button type="submit">Save</button>
<button type="reset">Reset</button>
</form:form>
und meine updateForm Methode:
@RequestMapping(value = "/{id}", params = "form", method = RequestMethod.GET)
public String updateForm(@PathVariable ("id") Long id, Model uiModel) {
uiModel.addAttribute("employee", employeeService.findById(id));
List<Department> departments = employeeService.getAllDepartments();
uiModel.addAttribute("department", departments);
return "staff/update";
}
"Abteilung" hat zwei Felder: departmentId (int) und divisionName (String).
So, "Mitarbeiter" und "Abteilung" sind zwei verschiedene Gegenstände, die ich haben möchte, die Fähigkeit zum Auffüllen Feld mit Bezug zu "Mitarbeiter" (departmentId) mit der string-Repräsentationen von "Abteilung". Ihre departmentId zueinander passend. Sobald bestimmte Abteilung gewählt wird, seine id zu setzen, um Mitarbeiter.departmentId.
Vielen Dank im Voraus!
- Sind Sie vor Probleme? Was ist der Fehler oder das Problem?
- Das problem ist, ich"m nicht sicher, wie Sie Sie, um es auszuführen. Das ist das Problem
InformationsquelleAutor orionix | 2013-06-12
Schreibe einen Kommentar Antworten abbrechen
Du musst angemeldet sein, um einen Kommentar abzugeben.
War ich mir nicht ganz sicher, was die updateForm Methode in der controller. Wenn das laden der ursprünglichen form dann das Modell Attribut-name sollte
departments
stattdepartment
. Dies sind die änderungen in der updateForm Methode.Ich erstellte einen Eintrag setzen, die eine hash-map mit den departmentId als Wert und divisionName als Schlüssel.
Nun, um diese in der jsp.
Den
value
undkey
entspricht dem Schlüssel-Wert-Paare derdepartmentsMap
die gefüllt ist in der Steuerung. Der Wert wird an die departmentId und die divisionName gezeigt werden in der dropdown-Liste.Ich hoffe das ist was du willst.