2

これは私のコントローラークラスで、新しいウィンドウと編集ウィンドウがあります。新しいウィンドウに 6 つのフィールドがあるとします。すべての値を入力して保存ボタンをクリックすると、値がデータベースに保存されます。編集ウィンドウには、これらの 6 つのフィールドのうち 4 つのフィールドがあり、これらの 4 つのフィールドを編集したいだけですが、これらの4つのフィールドを編集すると、null値を取得する他のフィールドは、編集したくないフィールドを意味し、それらはnull値で埋められ、以前の値はnull値で上書きされます

@RequestMapping("/newbin")
public String showNewBinForm(Model model) {
    Bin bin=new Bin();
    model.addAttribute("bin",bin);
    List<Warehouse> warehouseDetails= wservice.listAll();
     model.addAttribute("warehouseDetails",warehouseDetails);
    return "new_bin";
}

@RequestMapping(value = "/savebin", method = RequestMethod.POST)
    public String saveBin(@ModelAttribute("bin") Bin bin) {
    
        service.save(bin);
        return "redirect:binwindow";
    }

@RequestMapping("/editbin/{id}")
public String showEditBinPage(@PathVariable(name = "id") Long id,Model model) {
    Bin bin = service.get(id);
model.addAttribute("bin", bin);
return "edit_bin";
}

サービス-

[public class BinService {
         
        @Autowired
        private BinRepository repo;
         
        public List<Bin> listAll() {
            return repo.findAll();
        }
         
        public void save(Bin bin) {
            repo.save(bin);
        }
         
        public Bin get(long id) {
            return repo.findById(id).get();
        }
4

1 に答える 1