inflearn logo
강의

Course

Instructor

3. Web Development Course [Spring Framework + e-Government Standard Framework]

Lesson 11 View bulletin board details, reply

borderView.do 가 안됩니다.

519

joony

4 asked

0

오류문은

2023-03-13 17:17:43,619 ERROR [egov.lib.util.ExampleAop] ST에러발생===============

2023-03-13 17:17:43,620 ERROR [egov.lib.util.ExampleAop] 에러위치:class org.mybatis.spring.MyBatisSystemException

2023-03-13 17:17:43,620 ERROR [egov.lib.util.ExampleAop] 에러내용:nested exception is org.apache.ibatis.exceptions.PersistenceException:

### Error querying database. Cause: java.lang.IllegalArgumentException: Result Maps collection does not contain value for selectBorderView

### Cause: java.lang.IllegalArgumentException: Result Maps collection does not contain value for selectBorderView

2023-03-13 17:17:43,620 ERROR [egov.lib.util.ExampleAop] ED에러발생===============

 

이고, 이걸 작성한 Controller는

@RequestMapping(value="/borderView.do")

public String borderView(HttpServletRequest request, ModelMap model) throws Exception

{

HashMap<String,Object> paramMap = new HashMap<String,Object>();

ArrayList<HashMap<String,Object>> list = new ArrayList<HashMap<String,Object>>();

String borderId = request.getParameter("no").toString();

paramMap.put("borderId", borderId);

paramMap.put("ref_cursor", null);

borderService.selectBorderView(paramMap);

list = (ArrayList<HashMap<String,Object>>)paramMap.get("ref_cursor");

model.addAttribute("resultList",list);

return "border/borderView";

}

 

이고,

BorderDAO.xml 에는

<select id="selectBorderView" statementType="CALLABLE" resultType="java.util.HashMap" parameterType="java.util.HashMap">

CALL web_main.selectBorderView(#{borderId},#{ref_cursor, mode=OUT, jdbcType=CURSOR, javaType=ResultSet, resultMap=selectBorderView})

</select>

를 추가 하였습니다.

 

Oracle Procedure는

 

PROCEDURE selectBorderView

(

In_borderId IN NUMBER,

ref_cursor OUT SYS_REFCURSOR

) IS

BEGIN

OPEN ref_cursor FOR

SELECT

borderid,

nickname,

title,

bordertext

FROM EGOV_BBS

WHERE BORDERID = In_borderId;

EXCEPTION WHEN OTHERS THEN

DBMS_OUTPUT.PUT_LINE('오류발생');

DBMS_OUTPUT.PUT_LINE('에러내용:'||SQLERRM);

DBMS_OUTPUT.PUT_LINE('발생위치:'||DBMS_UTILITY.FORMAT_ERROR_BACKTRACE);

END selectBorderView;

 

이렇게 작성하였는데, BorderList.do까지는 잘 되었지만, 그 후로 상세보기가 안되네요

 

spring 전자정부프레임워크

Answer 3

1

vmproductor0202

딱히 문제점은 없어보여요.

살펴 보실 점은 아래처럼 권장드립니다.

1.jsp폴더에서 border폴더 밑에 borderView.jsp파일이 있는지 확인(대소문자 구분)

2.

-프로젝트에서 마우스 우클릭->Maven->Update Project->OK눌러주기(라이브러리 다시 다운로드 과정입니다.)

-빌드(톰캣서버가 사용 할 실행파일을 재생성)를 해줍니다.

그 후 다시 웹서버를 실행시켜서 정상적으로 나오는지 확인해주세요.

3. 9강내용 디버깅을 사용하시면 어디서 오류가 나는지 추적하실 수 있습니다.

해결이 안되시면 vmproductor@gmail.com로 프로젝트 폴더를 압축 후 이메일로 보내주시면 확인해보겠습니다.

 

0

joony

빠른 답변 감사드립니다.

수정 후 확인해봤는데, 이번엔 SQL문 에러메세지는 안나오는데 borderView.do 요청시 반응이 없더라구요..

BorderController.java 에서

resultList 에는 아래와 같이 값이 들어가 있고, Sysout으로 값을 꺼내보니 다음과 같이 DB에서 잘 가지고 오는걸 확인했습니다.

[{BORDERID=11, NICKNAME=user12, BORDERTEXT=과연될까, TITLE=제목741이다}]

 

그렇다면, 결국 borderView.java에서 문제가 생겼다는것인데,

제 코드는 다음과 같습니다.

 

<%@ page language="java" contentType="text/html; charset=UTF-8"

pageEncoding="UTF-8"%>

<!DOCTYPE html>

<html lang="en">

<head>

<meta charset="UTF-8">

<meta name="viewport" content="width=device-width, initial-scale=1.0">

<meta http-equiv="X-UA-Compatible" content="ie=edge">

<title>Document</title>

<style>

.mytable

{

border: 1px solid black;

width: 800px;

margin:50px auto 0px auto;

}

.mytable .td1

{

width:100px;

}

.mytable .td2

{

width:700px;

}

.mytable .td3

{

vertical-align: 0px;

}

.mytable .td4

{

text-align: right;

}

.mytable .mytextarea

{

height:500px;

resize: none;

}

</style>

</head>

<body>

<table class="mytable">

<tr>

<td class="td1">작성자</td>

<td class="td2">${resultList[0].NICKNAME}</td>

</tr>

<tr>

<td class="td1">제목</td>

<td><input type="text" class="td2" name="title" readonly value="${resultList[0].TITLE}"></td>

</tr>

<tr>

<td class="td1 td3">내용</td>

<td><textarea class="td2 mytextarea" name="mytextarea" readonly>${resultList[0].BORDERTEXT}</textarea></td>

</tr>

<tr>

<td colspan="2" class="td4">

<!-- javascript로 사용자에게 안보여지게 처리필요. -->

<input type="button" value="수정">

<input type="button" value="삭제">

<a href="borderReply.do?no=${resultList[0].BORDERID}"><input type="button" value="답글"></a>

<a href="borderList.do"><input type="button" value="목록보기"></a>

</td>

</tr>

</table>

</body>

</html>

 

혹시 위에서 잘못된 표현이 있을까요 ㅠㅠ 못찾겠어요..

 

 

0

vmproductor0202

[답변완료로 숨김처리 되었습니다.]

신규강의 쿠폰 건

0

49

1

개발환경 구축 중 이클립스 프로젝트 해결 방법 문의

0

130

2

1강 HTTP 상태 404 에러

0

155

2

섹션2 3강부터 추가 강의는 언제 업데이트 될까요?

0

155

2

전자정부프레임워크 버전+신규 강의 관련 질문

0

343

2

전자정부프레임워크를 다운받지않고 STS 에서 위 강의를 진행하고싶은데 방법이있을까요?

0

201

1

EA + egovframe 신규 강의 무료쿠폰 메일

0

217

1

강의 쿠폰 문의 드립니다

0

189

1

신규강의 요청드립니다.

0

220

1

[V2.0 추가중_로그인,회원가입,VO] 3강의는 언제 올려주는지 문의 드립니다.

0

216

1

신규강의 요청드립니다!

0

193

1

신규강의 요청드립니다!

0

191

1

신규강의 요청드립니다.

0

235

1

9강 -1 마지막 실습

0

310

0

신규강의 무료쿠폰 신청 부탁드립니다. 감사합니다 즐거운 설되셔요

0

442

1

신규강의 무료 쿠폰 신청합니다!

0

320

1

신규강의 무료쿠폰 신청합니다~

0

305

1

안녕하세요, 다름이 아니라 톰캣 설치 과정에서 막히는 부분이 있어서 문의드립니다.

0

354

2

5강 /main5.do 호출시 화면이 안나옵니다

0

462

1

무료쿠폰 발급 요청방법

2

3479

0

1강 환경변수 설정 보고 하고있는데.. 오류 발생

0

576

2

9강 AOP 진행하는데 Error가 이렇게 뜨는데 다 지우고 따라해도 해결이 안되서 질문 올립니다!

1

1207

1

쿠폰 발급 요청방법

1

1397

1

EA + egovframe 쿠폰

0

379

1