VO변경
- 작성자 :
- 유*락
- 작성일 :
- 2012-12-20 13:12:00
- 조회수 :
- 1,696
- 구분 :
- 공통컴포넌트
- 진행상태 :
- 완료
Q
EgovMainMenuManageController.java에서 사용자가 로그인시
사용자별 변수를 기존 방법으로 LoginVO에 추가 시켰습니다.
가지고 온 LoginVO에 가지고온 사용자별 변수를 다른 vo에 넣고 싶습니다.
@RequestMapping(value="/sym/mnu/mpm/EgovMainMenuHome.do")
public String selectMainMenuHome(@ModelAttribute("menuManageVO") MenuManageVO menuManageVO, TemplateInfVO tmplatInfVO, ModelMap model)throws Exception {
LoginVO user = (LoginVO)EgovUserDetailsHelper.getAuthenticatedUser();
menuManageVO.setTmphjdCde(user.getHjdCde());
//1.번
tmplatInfVO.setHjdCde(user.getHjdCde());
List list_headmenu = menuManageService.selectMainMenuHead(menuManageVO);
model.addAttribute("list_headmenu", list_headmenu);
if (!user.getId().equals(""))
{
if (user.getSyscde().equals("sms"))
{
return "egovframework/com/cmm/EgovUnitContent";
}
else if(user.getSyscde().equals("subsidy"))
{
return "egovframework/com/cop/tpl/passLocalBudgetList";
}
else {
return "egovframework/com/cmm/passWntyBudgetList";
}
}
else {
// 오류 페이지 이동
return "egovframework/com/cmm/error/egovError";
}
}
디버깅을 찍어보니
1.번 까지는 변수를 잘 가져왔는데 로그인된 페이지로 이동을 하면 tmplatInfVO에는 아무런 값도 안들어 옵니다.
어디에 무엇을 추가하면 될까요?
미리 감사인사드리겠습니다.
감사합니다.
사용자별 변수를 기존 방법으로 LoginVO에 추가 시켰습니다.
가지고 온 LoginVO에 가지고온 사용자별 변수를 다른 vo에 넣고 싶습니다.
@RequestMapping(value="/sym/mnu/mpm/EgovMainMenuHome.do")
public String selectMainMenuHome(@ModelAttribute("menuManageVO") MenuManageVO menuManageVO, TemplateInfVO tmplatInfVO, ModelMap model)throws Exception {
LoginVO user = (LoginVO)EgovUserDetailsHelper.getAuthenticatedUser();
menuManageVO.setTmphjdCde(user.getHjdCde());
//1.번
tmplatInfVO.setHjdCde(user.getHjdCde());
List list_headmenu = menuManageService.selectMainMenuHead(menuManageVO);
model.addAttribute("list_headmenu", list_headmenu);
if (!user.getId().equals(""))
{
if (user.getSyscde().equals("sms"))
{
return "egovframework/com/cmm/EgovUnitContent";
}
else if(user.getSyscde().equals("subsidy"))
{
return "egovframework/com/cop/tpl/passLocalBudgetList";
}
else {
return "egovframework/com/cmm/passWntyBudgetList";
}
}
else {
// 오류 페이지 이동
return "egovframework/com/cmm/error/egovError";
}
}
디버깅을 찍어보니
1.번 까지는 변수를 잘 가져왔는데 로그인된 페이지로 이동을 하면 tmplatInfVO에는 아무런 값도 안들어 옵니다.
어디에 무엇을 추가하면 될까요?
미리 감사인사드리겠습니다.
감사합니다.
A
안녕하세요.. 유용락님..
어떤 값이 없다고 하시는 건지요??
1번에서 지정된 tmplatInfVO의 HjdCde 값이 없는 경우인지..
tmplatInfVO의 다른 값들이 없는 경우인지요??
첫번째 경우는.. 로그인 사용자 정보 LoginVO 자체에 HjdCde 값이 없는 경우 같습니다.
이 경우는.. 다음 가이드 부분의 Mapping class 부분에 해당 값을 넣으셔야 합니다.
http://www.egovframe.org/wiki/doku.php?id=egovframework:rte2:fdl:server_security:authentication
Mapping class에서 값을 넘겨 받으시려면.. context-security.xml 상에 지정된usersByUsernameQuery 상에 필요한 정보(컬럼)을 join 등을 통해 추가하셔야 하구요..
두번째 경우는 /sym/mnu/mpm/EgovMainMenuHome.do url을 호출 할 때에 파라미터들을 GET으든 POST든 넘기셔야 TemplateInfVO에 해당되는 property 값을 지정합니다.(setter 호출)
넘겨지는 파라미터를 확인해 보시면 되실 것 같습니다.
그럼.. 즐거운 하루되십시오.
감사합니다.
어떤 값이 없다고 하시는 건지요??
1번에서 지정된 tmplatInfVO의 HjdCde 값이 없는 경우인지..
tmplatInfVO의 다른 값들이 없는 경우인지요??
첫번째 경우는.. 로그인 사용자 정보 LoginVO 자체에 HjdCde 값이 없는 경우 같습니다.
이 경우는.. 다음 가이드 부분의 Mapping class 부분에 해당 값을 넣으셔야 합니다.
http://www.egovframe.org/wiki/doku.php?id=egovframework:rte2:fdl:server_security:authentication
Mapping class에서 값을 넘겨 받으시려면.. context-security.xml 상에 지정된usersByUsernameQuery 상에 필요한 정보(컬럼)을 join 등을 통해 추가하셔야 하구요..
두번째 경우는 /sym/mnu/mpm/EgovMainMenuHome.do url을 호출 할 때에 파라미터들을 GET으든 POST든 넘기셔야 TemplateInfVO에 해당되는 property 값을 지정합니다.(setter 호출)
넘겨지는 파라미터를 확인해 보시면 되실 것 같습니다.
그럼.. 즐거운 하루되십시오.
감사합니다.