작성
·
3.8K
0
@Controller
@RequestMapping("/basic/items")
@RequiredArgsConstructor
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";
}
@GetMapping("/{itemId}")
public String item(@PathVariable long itemId, Model model) {
Item item = itemRepository.findById(itemId);
model.addAttribute("item", item);
return "basic/item";
}
@PostConstruct
public void init() {
itemRepository.save(new Item("itemA", 10000, 10));
itemRepository.save(new Item("itemB", 20000, 20));
}
]
---------------------
상품명에 관한 코드는 다음과 같습니다.
<div>
<label for="itemName">상품명</label>
<input type="text" id="itemName" name="itemName" class="form-control" value="상품A" th:value="${item.itemName}" readonly>
</div>
답변 2
2
저도 비슷한 오류가 떠서 계속 코드를 봤거든요!
혹시 basic/items.html 에 상품명을 타임리프로 렌더링 하는 코드에 잘못 적으신 게 아닐까요?
저 같은 경우는 이처럼 적었더니, 같은 넘버 포멧 오류가 떴어요!
<td><a href="item.html" th:href="@{|/basic/items/{item.id}|}"
그래서 다음과 같이 고쳐주었더니 되었습니다 강의를 들으며 코딩하다보니 했던 실수였어요!
<td><a href="item.html" th:href="@{|/basic/items/${item.id}|}"
0
숫자가 들어가야 할 자리에 null이 들어가서 문제가 생긴거군요. 매핑한곳에 null값이 들어갔나 확인해봤는데 첨부된 사진에 보시는 바와 같이 코드에는 이상이 없는것 같습니다...