• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Spring boot przekazanie wartosci id z opcji pierwszego selecta i wyswietlenie dynamicznie drugiego selecta w html .

Cloud VPS
0 głosów
220 wizyt
pytanie zadane 23 grudnia 2018 w Java przez lewy Obywatel (1,260 p.)

Witam posiadam problem z dynamicznym wyswietleniem wartosci w drugim selekcie w html . Posiadam klase z działami której wartosci wyswietlam w pierwszym selekcie.

Controller

 @GET
    @Secured(value = { "ROLE_ADMIN" })
    @RequestMapping(value = "/addEmployee")
    public String EmployeeForm(Employee employee, Model model,
                           @RequestParam(name="success", required=false)String success) {
        Map<Integer, String> departmentMap = prepareDepartmentMap();
        model.addAttribute("departmentMap", departmentMap);
        model.addAttribute("employee", employee);
        if(success != null) {
            if(success.equals("addEmployee")) {
                model.addAttribute("message", "Pracownik dodany !");
            }
        }
        return "addEmployee";
    }

Metoda do zwrocenia Mapy działow

public Map<Integer, String> prepareDepartmentMap() {
        Map<Integer, String> departmentMap = new HashMap<Integer, String>();
        List<Department> departmentList = departmentService.findAllDepartments();
        for( Department department : departmentList){
            departmentMap.put(department.getId(),department.getName());
        }
        return departmentMap;
    }

JSP

<div class="form-group">
         <label>Wybierz Dział</label>
               <form:select id="inputState" class="form-control"  path="department">
                      <form:option value="${department.id}"> --SELECT--</form:option>
                       <form:options items="${departmentMap}"></form:options>
                 </form:select>
</div>

Controller metoda zwracajaca stanowiska w danym dziale 

 @GET
    @Secured(value = { "ROLE_ADMIN" })
    @RequestMapping(value = "/getPositiontMapByDepartmentId")
    public @ResponseBody Map<Integer, String> getPositiontMapByDepartmentId(Employee employee, Model model,
                                         @RequestParam(name="department") int departmentId) {
        Map<Integer, String> positiontMapByDepartmentId = preparePositionMapByDepartmentId(departmentId);
        model.addAttribute("positiontMapByDepartmentId", positiontMapByDepartmentId);

        return positiontMapByDepartmentId;
    }

Metoda zwracajaca mape 

public Map<Integer, String> preparePositionMapByDepartmentId(int departmentId) {
        Map<Integer, String> positiontMapByDepartmentId = new HashMap<Integer, String>();
        List<Position> positionListById = positionService.findAllPositionsByDepartmentId(departmentId);
        for( Position position : positionListById){
            positiontMapByDepartmentId.put(position.getId(),position.getName());
        }
        return positiontMapByDepartmentId;
    }

JSP dwóch selectów

<div class="form-group">
         <label>Wybierz Dział</label>
          <form:select id="inputState" class="form-control"  path="department">
                 <form:option value="${department.id}"> --SELECT--</form:option>
                  <form:options items="${departmentMap}"></form:options>
            </form:select>
</div>

 <div class="form-group">
           <label>Wybierz stanowisko</label>
           <form:select id="inputState" class="form-control" path="position" items="${positiontMapByDepartmentId}" />
</div>

I teraz potrzebuje waszej pomocy jakim sposobem najlepiej to zrobic by nie przeladowywac calej strony tylko poprzez wybor działu w pierwszym selekcie użyc metody controllera zwracacającego Mape stanowisk w danym dziale z góry dzieki.

Zaloguj lub zarejestruj się, aby odpowiedzieć na to pytanie.

Podobne pytania

+1 głos
1 odpowiedź 265 wizyt
pytanie zadane 11 listopada 2020 w Java przez siemasiema123.96 Początkujący (350 p.)
0 głosów
0 odpowiedzi 188 wizyt
0 głosów
1 odpowiedź 230 wizyt
pytanie zadane 8 lutego 2018 w Java przez Mrmatiii Początkujący (300 p.)

93,455 zapytań

142,450 odpowiedzi

322,719 komentarzy

62,837 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj

Kursy INF.02 i INF.03
...