posted by 지니우스 2012. 12. 2. 10:22

 

Controller Class 에 정의하기

 

 

 import net.sf.json.JSONObject;

 

  ...

 
 @RequestMapping(value="/common/common_code.ms")
 public String commonCode(Map model, Locale locale, HttpServletRequest request, HttpServletResponse response) {

  ...


  JSONObject jObj = new JSONObject();

 

  /*목록 가져오기*/
  mwCmCodeExample = new MwCmCodeExample();
  mwCmCodeExample.or().andGrpCodeEqualTo(grpCode);
  mwCmCodeList = mwCmCodeService.getByExample(mwCmCodeExample);


  Iterator<MwCmCode> it = mwCmCodeList.iterator();
  while(it.hasNext()) {
   MwCmCode one = it.next();
   jObj.put(one.getComCd(), one.getComCdVal());
  }

 

  /* SET ATTRIBUTEs */
  request.setAttribute("mwCmCodeList", mwCmCodeList);
  request.setAttribute("JSONObject", jObj);

  return "/common/result_page";
 }

 


 

 

result_page.jsp

 

 

<%@ page language="java" contentType="text/html; charset=EUC-KR" pageEncoding="EUC-KR"%>
${JSONObject}

 

 

 

 

 

js에서 정의하기

 

function setComboCode(objNm, code, allYn, selCode) {
 var x = setComboInit(objNm, allYn);
 if(selCode==undefined) selCode="";

 //SERVER CALL
 var paramData = {grpCode:code};
 $.ajax({
     type: 'GET',
     url: '/common/common_code.ms',
     async: false,    //화면(jsp) 로딩시 호출되는 function은 async true로 하면 정상 로딩 안되는 경우가 생김
     data: paramData,
     dataType: 'json',
     success: function(data) {
   var i = 1;
   $.each(data, function(key, val) {
    addOption(x,key,key+'::'+val);
    if(selCode==key) x.selectedIndex = i;
    i++;
   });
     }
 })
 .success(successCombo(x))
 .error(errorCombo(x))
 .complete(completeCombo(x));
}

 

function setComboInit(objNm, allYn) {
 var x = document.getElementById(objNm);
 clearOption(x);
 // "전체" 조회조건 있을경우
 if(allYn == "Y") {
  addOption(x,"%","전체");
 } else {
  addOption(x,"","= 선택하세요 =");
 }
 return x;
}

 

function successCombo(obj) {
 //alert("콤보가 정상적으로 호출되었습니다. 콤보호출후 수행될 successCombo(obj) 함수를 정의해주세요.");
}

function errorCombo(obj) {
 //alert("콤보 호출시 에러가 발생하였습니다. 콤보호출후 수행될 errorCombo(obj) 함수를 정의해주세요.");
}

function completeCombo(obj) {
 //alert("콤보 호출이 완료되었습니다. 콤보호출후 수행될 completeCombo(obj) 함수를 정의해주세요.");
}

 

 

jsp에서 사용하기

 

 


 <script type="text/javascript">
 
 /**
  * 페이지 로딩시 최초 실행
  */
 window.onload = function() {
  //// 초기화 /////////////////////////////////////////
  // 공통코드
  setComboCode('codeSel','0002','Y','02'); 

 }

 </script>

 

 ...

 

 <select id="codeSel"></select>