Форум программистов, компьютерный форум, киберфорум
Наши страницы
Java: Базы данных
Войти
Регистрация
Восстановить пароль
 
Usan
0 / 0 / 0
Регистрация: 08.07.2017
Сообщений: 3
1

Заполнение таблицы из выпадающего списка

17.04.2019, 21:50. Просмотров 162. Ответов 1

Я пытаюсь написать Веб приложение для работы с Базой данных.
Три таблицы: Груз, Груз в перевозке и сама перевозка
Я разобралась как читать из БД и выводить на экран. Начала делать заполнение и не могу никак разобраться с добавлением в таблицу Груз в перевозке, я создала выпадающий список (данные из табл Груз) и пытаюсь выбранное значение сохранить в таблице.
Помогите, пожалуйста, разобраться, как мне преобразовать полученное значение String для того чтобы удачно сохранять его в поле таблицы. Надеюсь, что это реально сделать в моей программе(

Таблица Груз в перевозке
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
package com.example.RivPort.domain;
 
import javax.persistence.*;
 
@Entity
public class CargoInTraffic {
    @Id
    @GeneratedValue(strategy = GenerationType.AUTO)
    private long id;
    private int quantity;
    private int weight;
    private int price;
 
 
    @ManyToOne(fetch = FetchType.EAGER)
    @JoinColumn(name="cargo_id")
    private Cargo cargo;//
 
 
    @ManyToOne(fetch = FetchType.EAGER)
    @JoinColumn(name="traffic_id")
    private Transfer transfer;
 
    public CargoInTraffic() {
    }
 
    public CargoInTraffic(Cargo cargo, int quantity, int weight, int price) {
        this.quantity = quantity;
        this.weight = weight;
        this.price = price;
 
        this.cargo = cargo;
    }
 
    public String getCargoDescr(){
        return cargo != null ? cargo.getDescr() : "<none>";
    }
 
    public long getTransferId(){
        return transfer != null ? transfer.getId() : 0;
    }
    //getter and setter
}

Таблица Груз
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
package com.example.RivPort.domain;
 
 
import javax.persistence.*;
import java.util.List;
 
@Entity
public class Cargo {
    @Id
    @GeneratedValue(strategy = GenerationType.AUTO)
    private long id;
    private String view;
    private String descr;
 
    public Cargo() {
    }
 
    public Cargo(String view, String descr) {
        this.view = view;
        this.descr = descr;
    }
 
    @OneToMany(mappedBy = "cargo", cascade = CascadeType.ALL, orphanRemoval = true)
    private List<CargoInTraffic> cargoInTraffics;
 
  //getter and setter
}

В моем Контроллере
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
   @Autowired
    private CargoInTrafficRepo cargoInTrafficRepo;
 
    @GetMapping("/cargoInTraffic")
    public String cargoInTraffic(Model model){
        Iterable<CargoInTraffic> cargoInTraffics = cargoInTrafficRepo.findAll();
 
        Iterable<Cargo> cargos = cargoRepo.findAll();
 
        model.addAttribute("cargoInTraffics",cargoInTraffics);
        model.addAttribute("cargos",cargos);
 
        return "cargoInTraffic";
    }
 
 
    @PostMapping("/cargoInTraffic")
    public String add(
 
            @ModelAttribute("cargoId") Cargo cargo,
            @RequestParam int quantity,
            @RequestParam int weight,
            @RequestParam int price,
            Map<String, Object> model){
 
        CargoInTraffic cargoInTraffic = new CargoInTraffic(cargo, quantity, weight, price);
        cargoInTrafficRepo.save(cargoInTraffic);
 
        Iterable<CargoInTraffic> cargoInTraffics = cargoInTrafficRepo.findAll();
        model.put("cargoInTraffics",cargoInTraffics);
 
        return "cargoInTraffic";
    }
мой выпадающий список
HTML5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
<a class="btn btn-primary" data-toggle="collapse" href="#collapseExample" role="button" aria-expanded="false" aria-controls="collapseExample">
    Add new cargoInTraffic
</a>
<div class="collapse" id="collapseExample">
    <div class="form-group mt-3">
        <form method="post">
            <div class="input-group mb-3">
                <div class="input-group-prepend">
                    <label class="input-group-text" for="inputGroupSelect01">Список грузов</label>
                </div>
                <select class="custom-select" id="inputGroupSelect01" name="cargoId">
                    <option selected>Choose...</option>
                    <#list cargos as cargo>
                    <option value="${cargo.id}">${cargo.descr}</option>
                    </#list>
                </select>
            </div>
 
            <div class="form-group">
                <input type="text" class="form-control" name="quantity" placeholder="Количество" />
            </div>
            <div class="form-group">
                <input type="text" class="form-control" name="weight" placeholder="Вес" />
            </div>
            <div class="form-group">
                <input type="text" class="form-control" name="price" placeholder="Цена " />
            </div>
            <input type="hidden" name="_csrf" value="${_csrf.token}" />
            <div class="form-group">
                <button type="submit" class="btn btn-primary">Добавить</button>
            </div>
        </form>
    </div>
</div>
Ошибка, при попытке сохранения (12 - это тот id, который я выбрала по наименованию из списка, все правильно)
Заполнение таблицы из выпадающего списка
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.04.2019, 21:50
Ответы с готовыми решениями:

Заполнение таблицы значениями при выборе из выпадающего списка
Добрый день, подскажите как сделать так что бы значения из одно таблицы перенеслись в другу, при...

Заполнение выпадающего списка
Доброго времени суток. Как можно выделить нужную строку через webbrowser из выпадающего списка как...

Заполнение выпадающего списка
Добрый вечер! нужно на сайте выбрать пункт из выпадающего списка &lt;select name=&quot;pass_centre_id&quot;...

Заполнение выпадающего списка
Привет!Помогите заполнить список.В общем получается так На форме есть комбобокс.Есть txt файл в...

Событие на заполнение выпадающего списка DataGridView
Есть два dataGridView. Cоздаю список из значения ячеек одного грида и нужно заполнить выпадающий...

1
Usan
0 / 0 / 0
Регистрация: 08.07.2017
Сообщений: 3
17.04.2019, 22:04  [ТС] 2
И репозитории к таблицам
Java
1
2
3
4
5
6
7
package com.example.RivPort.repos;
 
import com.example.RivPort.domain.CargoInTraffic;
import org.springframework.data.repository.CrudRepository;
 
public interface CargoInTrafficRepo extends CrudRepository<CargoInTraffic, Integer> {
}
Java
1
2
3
4
5
6
7
8
9
10
package com.example.RivPort.repos;
 
import com.example.RivPort.domain.Cargo;
import org.springframework.data.repository.CrudRepository;
 
import java.util.List;
 
public interface CargoRepo extends CrudRepository<Cargo, Integer> {
    List<Cargo> findByView(String view);//Это для фильтра по таблице Груз
}
У меня нет ни service, ни DAO, и у меня не получается самой понять как они реализованы и работают, я бы хотела, если это будет возможно, обойтись без них
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
17.04.2019, 22:04

Программное заполнение выпадающего списка результатами запроса
Всем доброго времени суток! Есть справочник, предположим, учеников школы. У каждой строки есть...

Заполнение выпадающего списка без перезагрузки страницы
У меня есть модель, где хранятся, например, названия городов. Как сделать так, чтобы при выборе...

FireMonkey TComboEdit заполнение выпадающего списка после нажатия на кнопку
Есть на форме ComboEdit1: TComboEdit. Надо заполнить выпадающий список в момент нажатия кнопки ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.
Рейтинг@Mail.ru