작성
·
110
·
수정됨
0
맨 윗 사진이 사진1, 두번째 사진이 사진2라고 가정시.
package com.example.itemstore.itemservice.web.basic;
import com.example.itemstore.itemservice.domain.item.Item;
import com.example.itemstore.itemservice.domain.item.ItemRepository;
import jakarta.annotation.PostConstruct;
import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.servlet.mvc.support.RedirectAttributes;
import java.util.List;
@Controller
@RequestMapping("/basic/items")
@RequiredArgsConstructor
public class BasicItemController {
private final ItemRepository itemRepository;
@GetMapping
public String items(Model model){
List<Item> item=itemRepository.findAll();
model.addAttribute("item",item);
return "basic/items";
}
@GetMapping("/{itemId}")
public String item(@PathVariable long itemId, Model model){
Item item = itemRepository.findById(itemId);
model.addAttribute("item",item);
return "basic/items";
}
@GetMapping("/add")
public String addForm() {
return "basic/addForm";
}
/**테스트용 데이터 추가
/
@PostConstruct
public void init(){
itemRepository.save(new Item("a",10,1));
}
}
질문 : 위 코드는 사진 2처럼 나오고 아래코드는 사진1처럼 정상출력되는데 이유가 뭔가요? 변수명items과 model.addAttribute에 이름을 같게 넣어서 아래 위 코드 둘다 같은 결과가 나와야 한다고 생각하는데 막상 실행하면 결과가 다르게 나와서요.
public class BasicItemController {
private final ItemRepository itemRepository;
@GetMapping
public String items(Model model){
List<Item> items=itemRepository.findAll();
model.addAttribute("items",items);
return "basic/items";
}
전체코드: https://drive.google.com/file/d/1wGf0aRjKQ-haXmTupwJy9KUVwoY8gIbY/view?usp=drive_link
질문: 아래 링크 추가질문 올려놨는데 답변 부탁드립니다.
답변 1
0
안녕하세요. zzzz님, 공식 서포터즈 코즈위버입니다.
두 코드에서 모두 mode.addAttribute("items", items); 로 하셨다고 설명해주셨는데,
코드를 보면 하나는 "item"으로 담으셨습니다. 그래서 리스트에서 표기가 안되는것 같습니다.
감사합니다.