-
카테고리
-
세부 분야
웹 개발
-
해결 여부
미해결
답변달기 Group Order 가 올라가지 않아요...
23.03.14 14:02 작성 조회수 152
0
오라클 PROCEDURE SPEC부분은
PROCEDURE insertBorderReply
(
In_borderId IN VARCHAR2,
In_userId IN VARCHAR2,
In_userIp IN VARCHAR2,
In_title IN VARCHAR2,
In_mytextarea IN VARCHAR2
);
오라클 PROCEDURE BODY부분을
PROCEDURE insertBorderReply
(
In_borderId IN VARCHAR2,
In_userId IN VARCHAR2,
In_userIp IN VARCHAR2,
In_title IN VARCHAR2,
In_mytextarea IN VARCHAR2
) IS
lo_group_num NUMBER(10,0);
lo_group_order NUMBER(10,0);
lo_group_tab NUMBER(10,0);
BEGIN
/*답글달고자하는 글의 데이터를 로컬변수에 저장.*/
SELECT
group_num,
group_order,
group_tab
INTO
lo_group_num,
lo_group_order,
lo_group_tab
FROM EGOV_BBS
WHERE BORDERID = In_borderId;
/*기존글 형식을 맞추기위해 업데이트*/
UPDATE EGOV_BBS
set group_order = group_order + 1
WHERE group_num = lo_group_num
AND group_order > lo_group_order;
IF(lo_group_order = 0)
THEN
SELECT
MAX(group_order)
INTO
lo_group_order
FROM EGOV_BBS
WHERE group_num = lo_group_num;
END IF;
/*답글달고자하는 글의 데이터를 로컬변수에 저장.*/
INSERT INTO EGOV_BBS
(
borderid,
bordertype,
group_num,
parentid,
group_order,
group_tab,
userid,
nickname,
writerip,
editid,
editip,
title,
bordertext,
seecount,
filename,
filetype,
fileurl,
replycount
)
VALUES
(
borderid_seq.nextval,
'0',
lo_group_num,
In_borderId,
lo_group_order+1,
lo_group_tab+1,
In_userId,
In_userId,
In_userIp,
'',
'',
In_title,
In_mytextarea,
0,
'',
'',
'',
0
);
COMMIT;
EXCEPTION WHEN OTHERS THEN
DBMS_OUTPUT.PUT_LINE('오류발생');
DBMS_OUTPUT.PUT_LINE('에러내용:'||SQLERRM);
DBMS_OUTPUT.PUT_LINE('발생위치:'||DBMS_UTILITY.FORMAT_ERROR_BACKTRACE);
END insertBorderReply;
이렇게 작성했습니다.
위 사진과 같이 그룹 오더가 늘어나지 않습니다.
borderReplyReq.do 는 다음과 같이 작성했고
@RequestMapping(value="/borderReplyReq.do")
public String borderReplyReq(HttpServletRequest request, ModelMap model) throws Exception
{
HashMap<String,Object> paramMap = new HashMap<String,Object>();
String title = request.getParameter("title").toString();
String mytextarea = request.getParameter("mytextarea").toString();
String userId = "" ;
String no = request.getParameter("no").toString();
if(title.length()>15)
{
return "redirect:/borderList.do";
}
//2000자 잇상이면
else if(mytextarea.length()>2000)
{
return "redirect:/borderList.do";
}
// Session에 User ID 가 저장이 안되어 있다면?
else if(request.getSession().getAttribute("USER_ID")==null)
{
request.getSession().invalidate();
return "redirect:/login.do";
}
else // 사용자가 로그인을 했을 때,
{
userId = request.getSession().getAttribute("USER_ID").toString();
paramMap.put("boderid", no);
paramMap.put("userId", userId);
paramMap.put("userIp", request.getRemoteAddr());
paramMap.put("title", title);
paramMap.put("mytextarea", mytextarea);
}
borderService.insertBorderReply(paramMap);
System.out.println(paramMap);
return "redirect:/borderList.do";
}
마지막에 System.out.println(paramMap)은
데이터가 잘 찍혀서 들어간걸 확인 할 수 있었습니다.
근데 게시판에 답글이 생기지 않아요,,,
답변을 작성해보세요.
1
개발자Park
지식공유자2023.03.14
안녕하세요.개발자park입니다.
프로시저쪽은 문제 없어보입니다.
1]borderReply쪽의 form의 action에 명시된 url이 기존 글쓰기로 되어있어보입니다.
2]ServiceImpl,DAO.xml의 프로시저 쪽이 기존 게시판글쓰기로 되어있는지 확인이 필요해보입니다.
감사합니다.
답변 1