eGovFrame 표준프레임워크 포털

메뉴 건너띄기
상단메뉴 바로가기
본문 바로가기

이 누리집은 대한민국 공식 전자정부 누리집입니다.

본문 영역

적용 지원, FAQ, Q&A 게시판을 통해 기술 문제 해결을 지원합니다.

묻고 답하기

일반클래스에서 DB접근
  • 작성자

    오*원

  • 작성일

    2011-10-06 15:48:08

  • 조회수

    2,233

  • 구분

    실행환경

  • 진행상태

    완료

질문

jsp 에서

<%@ page import="egovframework.com.sec.ram.security.userdetails.util.EgovUserDetailsHelper" %>
<%
LoginVO loginVO = (LoginVO)EgovUserDetailsHelper.getAuthenticatedUser();
%>

위와 같이 사용을 하다가 특별한 기능이 필요 하여

<%@ page import="egovframework.com.sec.ram.security.userdetails.util.EgovUserDetailsHelper" %>
<%@ page import="egovframework.fta.common.*" %>
<%
LoginVO loginVO = (LoginVO)EgovUserDetailsHelper.getAuthenticatedUser();
CommonUtil cUtil = new CommonUtil();
String BtnAuth = cUtil.getMenuAuth(cocd, id, curCodeMenu); <-- 디비에 접근 하고자 하는 일반 클래스
%>


<!-- 클래스 -->
public class CommonUtil{

/** MenuDAO */
@Resource(name="menuDAO")
private MenuDAO menuDAO;

/**
* 인증된 사용자객체를 VO형식으로 가져온다.
* @return Object - 사용자 ValueObject
*/
public String getMenuAuth(String coCd, String id, String menuId) {
//commonUtilVO vo = new commonUtilVO();
//vo.setCoCd(coCd);
//vo.setId(id);
//vo.setCurCodeMenu(menuId);

MenuVO vo = new MenuVO();
vo.setAuthCodeMenu("ROLE_ADMIN");
vo.setCurCodeMenu("2010000");
MenuVO resultVO = null;
try {
System.out.println("---------------------11111111111111--------------------");
resultVO = (MenuVO) menuDAO.selectMenuAuth(vo);
System.out.println("---------------------222222222222222--------------------");
} catch (Exception e){
System.out.println("---------------------333333333333333--------------------");
System.out.println(e.getMessage());
System.out.println("---------------------444444444444444--------------------");
}
return vo.getAuthCodeMenu();
}

}

11111111111111 이 찍히고
33333333333333 이 찍히고
null
44444444444444 이 찍힙니다.

Resource로 선언한 MenuDAO에 접근을 못하는 것 같습니다.
어떻게 해야 할까요??

Controller을 통하여 접근하면 접근 가능 합니다.

답변

안녕하세요.. 오석원님..

이 경우는 @Resource에 의해 MenuDAO가 injection 되지 않습니다.
즉, 클래스가 new를 통해 생성된 경우는 Spring의 bean으로서 동작하지 않습니다.

이 경우는 @Controller를 통해 호출되거나 다른 @Service에 의해 호출되어야 할 것 같습니다.

추가로.. JSP에서 직접 클래스를 참조하는 것은 MVC 패턴에 맞지 않습니다..

그럼.. 즐거운 하루되십시오.
감사합니다.

이 페이지의 구성

묻고 답하기