파라미터 값을 질문
- 작성자 :
- 현*규
- 작성일 :
- 2014-12-09 18:27:18
- 조회수 :
- 1,308
- 구분 :
- 기타
- 진행상태 :
- 완료
Q
제가 지금 파라미터 값을 제대로 못 받아와서 문제가 발생한 것 같은데
그런데 두번째 페이지에서는 출력이 되는데요..
처음(메인) 페이지(화면)과 세번째 페이지에서는 메뉴바에 리스트를 출력하는데 계속
에러가 발생하는데
--> Error setting null for parameter #1 with JdbcType OTHER . Try setting a different JdbcType for this parameter or a different jdbcTypeForNull configuration property. Cause: java.sql.SQLException: 부적합한 열 유형: 1111 ; uncategorized SQLException for SQL []; SQL state [99999]; error code [17004]; 부적합한 열 유형: 1111; nested exception is java.sql.SQLException: 부적합한 열 유형: 1111
이런 에러가 발생해서 jdbcType=VARCHAR가 있어서 사용했는데
null값이 계속 들어오는 거에요..
어떻게 해야 해결할 수 있을 까요
SQL 쿼리문
<select id="selectAge" parameterType="chanewVO" resultType="egovMap">
<![CDATA[
SELECT DISTINCT JONGMOK_CD, AGE_CD, SUBSTR(AGE_CD_NM, 1, 2) AGE_CD_NM
FROM CHA_INFO
WHERE JONGMOK_CD = #{jongmokCd, jdbcType=VARCHAR}
]]>
</select>
JSP
<div data-role="collapsible">
<h3><a href="javascript:goMain('${chanew.jongmokCd}');">시대별</h3>
<div data-role="collapsible-set">
<ul data-role="listview" data-inset="true">
<c:forEach items="${ageList}" var="ageList">
<li><a href="javascript:goAge('${ageList.jongmokCd}','${ageList.ageCd}');">${ageList.ageCdNm}시대</a></li>
</c:forEach>
</ul>
</div>
</div>
해서 Controller에서 @ModelAttribute("chanewVO")로 받아오는데 계속 값을 못 받아오는데 어떻게 해야할까요
그런데 두번째 페이지에서는 출력이 되는데요..
처음(메인) 페이지(화면)과 세번째 페이지에서는 메뉴바에 리스트를 출력하는데 계속
에러가 발생하는데
--> Error setting null for parameter #1 with JdbcType OTHER . Try setting a different JdbcType for this parameter or a different jdbcTypeForNull configuration property. Cause: java.sql.SQLException: 부적합한 열 유형: 1111 ; uncategorized SQLException for SQL []; SQL state [99999]; error code [17004]; 부적합한 열 유형: 1111; nested exception is java.sql.SQLException: 부적합한 열 유형: 1111
이런 에러가 발생해서 jdbcType=VARCHAR가 있어서 사용했는데
null값이 계속 들어오는 거에요..
어떻게 해야 해결할 수 있을 까요
SQL 쿼리문
<select id="selectAge" parameterType="chanewVO" resultType="egovMap">
<![CDATA[
SELECT DISTINCT JONGMOK_CD, AGE_CD, SUBSTR(AGE_CD_NM, 1, 2) AGE_CD_NM
FROM CHA_INFO
WHERE JONGMOK_CD = #{jongmokCd, jdbcType=VARCHAR}
]]>
</select>
JSP
<div data-role="collapsible">
<h3><a href="javascript:goMain('${chanew.jongmokCd}');">시대별</h3>
<div data-role="collapsible-set">
<ul data-role="listview" data-inset="true">
<c:forEach items="${ageList}" var="ageList">
<li><a href="javascript:goAge('${ageList.jongmokCd}','${ageList.ageCd}');">${ageList.ageCdNm}시대</a></li>
</c:forEach>
</ul>
</div>
</div>
해서 Controller에서 @ModelAttribute("chanewVO")로 받아오는데 계속 값을 못 받아오는데 어떻게 해야할까요
A
안녕하세요. 현창규님.
MyBatis 상의 오류는 조치가 되신 것으로 판단되며,
jongmokCd 파라미터의 값이 null로 들어오시는 부분에 대해서는 goAge() 및 goMain() javascript 상의 처리 부분에 없어 어떤 문제인지 확인이 어려울 것 같습니다.
다만, 올려주신 부분만으로 몇 가지 확인 사항을 설명드릴 수 있을 것 같습니다.
첫번째, Model명으로 지정하신 chanewVO의 VO 클래스가 setJongmokCd() 메소드를 가지고 있어야 합니다. getJongmokCd()도 있으어 query xml 상에 지정하신 것 처럼 사용하실 수 있습니다.
두번째, 화면에서 submit 호출 시에 jongmokCd라는 파라미터가 있어야 하고, 호출된 javascript 상에서 해당 파라미터의 값을 지정되어야 합니다. 혹 form을 여러 개 갖으신 경우 submit 호출되는 form에 해당 파라미터가 정의되어 있어야 하구요.
그럼, 즐거운 하루되십시오.
감사합니다.
MyBatis 상의 오류는 조치가 되신 것으로 판단되며,
jongmokCd 파라미터의 값이 null로 들어오시는 부분에 대해서는 goAge() 및 goMain() javascript 상의 처리 부분에 없어 어떤 문제인지 확인이 어려울 것 같습니다.
다만, 올려주신 부분만으로 몇 가지 확인 사항을 설명드릴 수 있을 것 같습니다.
첫번째, Model명으로 지정하신 chanewVO의 VO 클래스가 setJongmokCd() 메소드를 가지고 있어야 합니다. getJongmokCd()도 있으어 query xml 상에 지정하신 것 처럼 사용하실 수 있습니다.
두번째, 화면에서 submit 호출 시에 jongmokCd라는 파라미터가 있어야 하고, 호출된 javascript 상에서 해당 파라미터의 값을 지정되어야 합니다. 혹 form을 여러 개 갖으신 경우 submit 호출되는 form에 해당 파라미터가 정의되어 있어야 하구요.
그럼, 즐거운 하루되십시오.
감사합니다.