gi_dor

Model 값이 안넘어 온다고 ? 오타 , 대소문자 문제... 본문

First/Error

Model 값이 안넘어 온다고 ? 오타 , 대소문자 문제...

기돌 2023. 7. 27. 17:16
728x90

오늘도 야무지게 프로젝트 관리자 게시판 만들고 있었다.

해당글에 page로 이동은 되는데 제목 , 내용 등등 값이 넘어오지 않음.

 

 

BOS_Faq.jsp

<%--
  Created by IntelliJ IDEA.
  User: Han
  Date: 2023-07-26
  Time: 오후 5:29
  To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<%@taglib prefix="fmt" uri="http://java.sun.com/jstl/fmt_rt" %>
<%@ page session="true"%>

<head>
    <style>
        @import url(${cssUrlBos}/cs/BOS_Faq.scss);
    </style>
 


    <div class="container">
        <h2 class="title-t ty3 mb-30"> FAQ 자주묻는 질문 </h2>

        <form id="form" class="frm" action="" method="post">

            <input type="hidden" name="faqNo" value="${faqDTO.faqNo}">

            <colgroup>
                <col style="width: 105px">
                <col style="width: auto">
                <col style="width: 110px">
            </colgroup>
        <tr>
            <input name="title" type="text" class="detail-tit1" value= " ${faqDTO.title}" />
        </tr>


            <span class="date-info">
                등록날짜: <span><fmt:formatDate value="${faqDTO.regDttm}" pattern="yyyy-MM-dd" /></span>
            </span>



            <textarea name="content" rows="15" class="detail-cont" readonly="readonly">${faqDTO.content}</textarea>



            <%-- 하단 이전글 다음글 선택--%>
            <nav class ="detail_nav">
                <br>
                <ul class="prev_next_title">
                    <%--        다음글  : 다음글 제목--%>
                    <%--            다음글이 없다면 empty nextTitle--%>
                    <li class="detail__nav-next">
                        <span class="nextPage">다음 글  &nbsp <i class="fa-sharp fa-solid fa-caret-up"></i></span>
                        <c:if test="${not empty nextTitle}">
                            <a href="/bos/faqRead?faqNo=${faqDTO.faqNo + 1}">&nbsp; ${nextTitle}</a>
                        </c:if>
                        <c:if test="${empty nextTitle}">
                            <span>&nbsp;다음 글이 존재하지 않습니다. </span>
                        </c:if>
                    </li>


                        <br>


                        <li class="detail__nav-prev">
                            <span class="prevPage">이전 글  &nbsp; <i class="fa-solid fa-caret-down"></i></span>
                            <c:if test="${not empty prevTitle}">
                                <a href="/bos/faqRead?faqNo=${faqDTO.faqNo - 1}">&nbsp; ${prevTitle}</a>
                            </c:if>
                            <c:if test = "${empty prevTitle}">
                                <span>&nbsp;이전 글이 존재 하지 않습니다. </span>
                            </c:if>
                        </li>

                </ul>
            </nav>

        </form>
    </div>

</head>

 

Controller

@Controller
@RequestMapping(ViewPath.BOS)
public class BOS_FaqController {

    @Autowired
    BOS_FaqService faqService;

 @GetMapping("faqRead")
    public String read(Integer faqNo, Model m ,SearchCondition sc) throws Exception{

        try {
            System.out.println("faqNo = " + faqNo);
            FaqDTO  faqDTO = faqService.read(faqNo);
            

            FaqDTO prevFaq = faqService.getPrevTitle(faqNo);
            FaqDTO nextFaq = faqService.getNextTitle(faqNo);

            m.addAttribute("prevFaqTitle", prevFaq != null ? prevFaq.getTitle():null);
            m.addAttribute("nextFaqTitle", nextFaq != null ? nextFaq.getTitle() : null);


            m.addAttribute("FaqDTO",faqDTO);
            m.addAttribute("sc",sc);
        } catch (Exception e) {
            e.printStackTrace();
            m.addAttribute("msg","READ_ERR");
        }

        return ViewPath.BOS_CS+"BOS_Faq";
    }
}

 

브라우저에 url 로 잘되어있잖아  데이터들 어디갔니 ?

<input type="hidden" name="faqNo" value="${faqDTO.faqNo}">
<input name="title" type="text" class="detail-tit1" value= " ${faqDTO.title}" />
등록날짜: <span><fmt:formatDate value="${faqDTO.regDttm}" pattern="yyyy-MM-dd" /></span>
<textarea name="content" rows="15" class="detail-cont" readonly="readonly">${faqDTO.content}</textarea>

 

파일들 다시 확인해보자...

Mapper

   <select id="select" parameterType="int" resultType="FaqDTO">
        SELECT FAQ_NO, FAQ_TP, TITLE, CONTENT, REGR_ID, REG_DTTM,
               GET_CD_NM('NF001', FAQ_TP) AS FAQ_TP_NM  # 공지 종류 이름
        from faq
        WHERE FAQ_NO = #{faqNo}
    </select>

 

DAO

    FaqDTO select(Integer faqNo) throws Exception;

DAOImpl

    @Autowired
    SqlSession session;

    String namespace = "com.teamProject.syusyu.BOS_FaqMapper.";

    @Override
    public FaqDTO select(Integer faqNo) throws Exception{
        return session.selectOne(namespace+"select", faqNo);
    }

 

Service

  FaqDTO read(Integer faqNo) throws Exception;

ServiceImpl

// 생성자로 주입
 BOS_FaqDAO BOSFaqDao;

    @Autowired
    public BOS_FaqServiceImpl(BOS_FaqDAO BOSFaqDao) {
        this.BOSFaqDao = BOSFaqDao;
    }
    

 @Override
    public FaqDTO read(Integer faqNo) throws Exception{
        FaqDTO faqDto = BOSFaqDao.select(faqNo);
        return faqDto;
    }

 

원인

오타 문제 였다.
FaqDTO  , faqDTO 
 m.addAttribute("FaqDTO",faqDTO);
 <input name="title" type="text" class="detail-tit1" value= " ${faqDTO.title}" />

728x90