아이템 물품 상세 화면

HUGO·2022년 9월 21일
0

mybatis

목록 보기
2/6

Mapper 설명

// 물품 번호를 전달 하면 해당하는 이미지의 번호들을 반환
public List<ItemImageDTO> selectImageList(  Long  itemno );

// selectItemOne( 전달 받는 값 )
// 반환값 ItemDTO
 // 물품 번호가 전달되면 물품 정보를 반환
public ItemDTO selectItemOne(Long no);

Controller 설명

 @Autowired
    ItemMapper iMapper;
 @Autowired
    ItemImageMapper iiMapper;


    @GetMapping(value = "/content.do")
    public String contentGET(Model model,
        @RequestParam(name = "itemno") Long no ){

            // 물품 번호를 이용해서 정보 가져오기(mapper/itemMapper.java 에서.)
            ItemDTO item = iMapper.selectItemOne(no); 
            // @Autowired 한 변수 iMapper로 selectItemOne을 가져오고 
            // 연결할 ItemDTO를 설정후 item 변수로 정보를 받음
            
            
            System.out.println(item.toString());  // 변수에 정보가 들어 왔는지 확인함

            // 물품 관련 이미지 전체 가져오기
            // @Autowired 한 변수 iiMapper로 selectImageList 를 불러옴
            // 연결할 LIST<ItemImageDTO> 로 설정 후 list 변수로 정보를 받음
            List<ItemImageDTO> list = iiMapper.selectImageList(no);
            System.out.println(list.toString()); // 변수에 정보가 들어 왔는지 확인함
		
            model.addAttribute("obj", item);
            model.addAttribute("rows", list);
            return "content";
        }

HTML 설명

<!DOCTYPE html>
<!--thymeleaf는 필수로 사용(브라우저 화면을 확인하고 띄우기 위해서)-->
<html lang="ko" xmlns:th="http://www.thymeleaf.org">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>상세</title>
</head>
<body>
    <h3>물품상세</h3>

    <form th:action="@{/customer/order.do}" method="post"> <!--물품 주문을 할 내용으로 이동-->
        <p th:text="${obj.no}"></p>
        <p th:text="${obj.name}"></p>
        <p th:text="${obj.content}"></p>
        <p th:text="|${obj.price} 원|"></p>

        <div th:if="${not #lists.isEmpty(rows)}"> <!--이미지가 비어있지 않을때 -->
            <th:block th:each="obj, idx : ${rows}">
                <img th:src="@{/item_image(no=${obj.no})}" style="width:200px" />
            </th:block>
        </div>
        <div th:if="${#lists.isEmpty(rows)}">   <!--이미지가 비어있을때 -->
            <img th:src="@{/item_image(no=0)}" style="width:200px" />        
        </div>

        <select>
            <th:block th:each="tmp, idx : ${#numbers.sequence(1,100)}">
                <option th:text="${tmp}" th:value="${tmp}"></option>
            </th:block>
        </select>

        <input type="submit" value="주문하기" />
    </form>
</body>
</html>
profile
갓 신생아 개발자 이야기

0개의 댓글