묻고 답해요
141만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨실무 환경 그대로 주문게시판 만들기 웹개발 기초 마스터
강의 관련
강의를 새로 구매하기에는 비용이 부담되어 현재 수강중인 것 기간만료 후 연장하고 싶은데, 방법이 있을까요?비용을 조금 추가하는 방법이라도 좋으니, 2주정도만 연장하고 싶습니다. 양해 부탁드립니다.
-
해결됨실무 환경 그대로 주문게시판 만들기 웹개발 기초 마스터
개발환경구성
메이븐 프로젝트 구성하려는데 이렇게 뜨네요 .. ownloaded[90m from [0mcentral[90m: https://repo.maven.apache.org/maven2/[0marchetype-catalog.xml[90m (16 MB at 6.9 MB/s)[0m[WARNING] Archetype not found in any catalog. Falling back to central repository.[WARNING] Add a repository with id 'archetype' in your settings.xml if archetype's repository is elsewhere.[INFO] [1m------------------------------------------------------------------------[m[INFO] [1;31mBUILD FAILURE[m[INFO] [1m------------------------------------------------------------------------[m[INFO] Total time: 4.579 s[INFO] Finished at: 2024-10-13T09:22:50+09:00[INFO] [1m------------------------------------------------------------------------[m[ERROR] Failed to execute goal [32morg.apache.maven.plugins:maven-archetype-plugin:3.3.0:generate[m [1m(default-cli)[m on project [36mstandalone-pom[m: [1;31mThe desired archetype does not exist (com.nexacro.archetype:uiadapter-spring-sample-archetype:1.0.1-20220603.053230-4)[m -> [1m[Help 1][m[ERROR][ERROR] To see the full stack trace of the errors, re-run Maven with the [1m-e[m switch.[ERROR] Re-run Maven using the [1m-X[m switch to enable full debug logging.[ERROR][ERROR] For more information about the errors and possible solutions, please read the following articles:[ERROR] [1m[Help 1][m http://cwiki.apache.org/confluence/display/MAVEN/MojoExecutionException
-
해결됨실무 환경 그대로 주문게시판 만들기 웹개발 기초 마스터
개발 환경 세팅 경로
https://drive.google.com/drive/folders/1Z-C-j2O5ukbSbEdl9t0eF4bYtysme8CP?usp=share_link 접속이 안되고 있습니다. ㅠㅠ
-
해결됨실무 환경 그대로 주문게시판 만들기 웹개발 기초 마스터
데이터셋을 여러개 보내는 경우도 있나요?
궁금한 부분이 생겼습니다!트랜잭션 처리할때 데이터셋을 여러개 같이 보내거나 받는 경우도 있을까요? 만약 그런 경우가있다면 어떤 상황에서 그런식으로 처리하나요?
-
해결됨실무 환경 그대로 주문게시판 만들기 웹개발 기초 마스터
넥사크로 아키타입 설정후 프로젝트 빌드 오류
프로젝트 생성 후 빌드 과정에서 에러가 납니다
-
해결됨실무 환경 그대로 주문게시판 만들기 웹개발 기초 마스터
투비소프트 넥사크로 만기일
투비소프트 만기일이 다가오고 있는데 어떻게 만기일을 늘릴 수 있나요?
-
해결됨실무 환경 그대로 주문게시판 만들기 웹개발 기초 마스터
페이징처리 관련 문의 드립니다
안녕하세요. 페이징 처리 관련하여 질문 사항 있어 요청 드립니다.현재 다른 분께서 페이징 처리 관련하여 질문하신 것에 강사님께서 댓글 달아주신 내용 보면서 페이징 처리 구현 중인데 잘 안되서 문의드립니다.구현한 사항은 순서대로 다음과 같습니다.1) OB_001.xfdl(게시판 메인화면) 그리드 하단에 div 만들고id : Div00url : cmm::paging_comm.xfdl기입한 후, 저장하였습니다 2) paging_comm.xfdl cmm 폴더내에 paging_comm.xfdl 파일 생성하여 페이징 처리 관련 컴포넌트 만들고 ID 부여하였습니다. 이후, 공유해주신 링크에 paging_comm.xfdl 페이징 처리 스크립트 전체 복사하여 붙여넣었습니다. 3) UiadapterBoardServiceImpl.java에 page_sample.jsp 스크립트를 java 코드로 변환하여 selectOrdLList 메서드에 코드 추가하였습니다.코드 아래와 같이 첨부드리니 확인 부탁드립니다.( HttpServletRequest request = ;, HttpServletResponse response = 부분에서request.getInputStream()과 response.getOutputStream();에서 "The local variable request may not have been initialized" 동일한 오류 납니다. )public ArrayList<Map<String, Object>> selectOrdList(Map<String, Object> ds_searchList) { UiadapterBoardMapper mapper = sqlSession.getMapper(UiadapterBoardMapper.class); try { String strCharset = "utf-8"; // PlatformRequest 생성 및 데이터 수신 HttpServletRequest request = (HttpServletRequest) request.getInputStream(); //The local variable request may not have been initialized 오류 발생 PlatformRequest platformRequest = new PlatformRequest(request.getInputStream(), PlatformType.CONTENT_TYPE_XML, strCharset); platformRequest.receiveData(); PlatformData inPD = platformRequest.getData(); VariableList inVariableList = inPD.getVariableList(); DataSetList inDataSetList = inPD.getDataSetList(); int iRowCnt = inVariableList.getInt("rowCount"); int iPageNo = inVariableList.getInt("pageNum"); // PlatformResponse 생성 HttpServletResponse response = (HttpServletResponse) response.getOutputStream(); // The local variable request may not have been initialized 오류 발생 PlatformResponse platformResponse = new PlatformResponse(response.getOutputStream(), PlatformType.CONTENT_TYPE_XML, strCharset); PlatformData outPD = new PlatformData(); VariableList outVariableList = new VariableList(); DataSetList outDataSetList = new DataSetList(); try { int iTotalRowCount = 1000; int nPageBlock = (int) Math.ceil((double) iTotalRowCount / iRowCnt); int nStartRow = iRowCnt * (iPageNo - 1); int nEndRow = nStartRow + 30; DataSet outDataSet = new DataSet("output"); outDataSet.addColumn("Column0", DataTypes.INT, 10); outDataSet.addColumn("Column1", DataTypes.STRING, 10); outDataSet.addColumn("Column2", DataTypes.STRING, 10); outDataSet.addColumn("Column3", DataTypes.STRING, 10); outDataSet.addColumn("Column4", DataTypes.STRING, 10); outDataSet.addColumn("Column5", DataTypes.STRING, 10); outDataSet.addColumn("Column6", DataTypes.STRING, 10); outDataSet.addColumn("Column7", DataTypes.STRING, 10); outDataSet.addColumn("Column8", DataTypes.STRING, 10); outDataSet.addColumn("Column9", DataTypes.STRING, 10); int nRow; for (int i = nStartRow; i < nEndRow; i++) { if (i + 1 > 1000) { break; } nRow = outDataSet.newRow(); outDataSet.set(nRow, "Column0", i + 1); outDataSet.set(nRow, "Column1", "test"); outDataSet.set(nRow, "Column2", "test"); outDataSet.set(nRow, "Column3", "test"); outDataSet.set(nRow, "Column4", "test"); outDataSet.set(nRow, "Column5", "test"); outDataSet.set(nRow, "Column6", "test"); outDataSet.set(nRow, "Column7", "test"); outDataSet.set(nRow, "Column8", "test"); outDataSet.set(nRow, "Column9", "test"); } outDataSetList.add(outDataSet); Variable pageBlockCount = new Variable("pageBlockCount"); pageBlockCount.set(nPageBlock); Variable totRowCount = new Variable("totRowCount"); totRowCount.set(iTotalRowCount); outVariableList.add("ErrorCode", 0); outVariableList.add("ErrorMsg", "succ"); outVariableList.add(pageBlockCount); outVariableList.add(totRowCount); } catch (Exception e) { outVariableList.add("ErrorCode", -1); outVariableList.add("ErrorMsg", e.toString()); } finally { outPD.setDataSetList(outDataSetList); outPD.setVariableList(outVariableList); OutputStream out = response.getOutputStream(); platformResponse.setData(outPD); platformResponse.sendData(); } } catch (Exception e) { } return mapper.selectOrdList(ds_searchList); } 4) 기존 주문 조회 쿼리를 안내해주신대로 한번 더 감싸서 수정하였습니다4) 기존 주문 조회 쿼리를 안내해주신대로 한번 더 감싸서 수정하였습니다 SELECT * FROM ( A.ORD_NO AS ORD_NO /*주문번호*/ , FN_CODE_NM('001',A.ORD_STAT_CD) AS ORD_STAT_NM /*주문상태*/ , A.CUST_CD AS CUST_NO /*고객번호*/ , B.CUST_NM AS CUST_NM /*고객명*/ , FN_CODE_NM('002',B.CUST_GBCD) AS CUST_GBCD_NM /*고객구분*/ , B.PHONE AS PHONE /*전화번호*/ , B.ADDR AS ADDR /*주소*/ , C.ITEM_NM AS ITEM_NM /*상품명*/ , A.REG_DT AS REG_DT /*주문일시*/ , 0 AS CHK /*체크박스*/ FROM TB_ORD A LEFT JOIN TB_CUST B ON A.CUST_CD = B.CUST_CD LEFT JOIN TB_ITEM C ON A.ITEM_CD = C.ITEM_CD WHERE 1=1 <if test="ORD_NO != null and ORD_NO !=''"> AND A.ORD_NO = #{ORD_NO} </if> <if test="CUST_NM != null and CUST_NM !=''"> AND B.CUST_NM = #{CUST_NM} </if> <if test="COMP_YN == 'true'"> AND B.CUST_GBCD = 'C' </if> <if test="ORD_STAT_CD != null and ORD_STAT_CD !=''"> AND A.ORD_STAT_CD = #{ORD_STAT_CD} </if> <if test="CUST_GBCD != null and CUST_GBCD !=''"> AND B.CUST_GBCD = #{CUST_GBCD} </if>) A <choose> <when test = "pageNum ==1 "> WHERE <![CDATA[A.RNUM <= #{rowCount}]]> </when> <otherwise> WHERE <![CDATA[A.RNUM > (#{pageNum}-1)*#{rowCount} AND A.RNUM <= #{pageNum}*#{rowCount}]]> </otherwise> </choose> 5) 결과상단과 같은 과정을 통해 구현한 후, 넥사크로에서 런치하여 확인해보니 메인화면 자체가 뜨지 않습니다.혹시 paging_comm.xfdl의 스크립트와 page_sample.jsp 자바 형식으로 변환하여 UiadapterBoardServiceImpl에 구현한 코드 공유해주실 수 있으실까요?그리고 OB_001.xfdl에 페이징 처리 div 만들고 "id : Div00"와 "url : cmm::paging_comm.xfdl" 부여한 후, cmm 폴더에 paging_comm.xfdl 형성하여 페이징 처리 관련 컴포넌트 그리고 id 부여하여 스크립트 복붙하는게 맞는지 확인 부탁드립니다.감사합니다.
-
해결됨실무 환경 그대로 주문게시판 만들기 웹개발 기초 마스터
교재가 어디 있나요?
계속 교재가 있다고 하시는데 .. 어디 있나요? 못찾겠네요.
-
해결됨실무 환경 그대로 주문게시판 만들기 웹개발 기초 마스터
주문 등록 및 주문 수정 그리드 업데이트 관련 문의드립니다.(3차 문의)
안녕하세요. 우선 연이어 질문 드려서 정말 죄송합니다. 어제 문의드렸던 내용 안내해주신대로 수정 팝업에 대한 함수 만들어서 구현해보았는데 여전히 수정 후, 게시판 메인화면에 조회버튼을 재클릭해야 수정사항이 반영되고 있습니다. 해결책이 마땅치 않아 재차 관련 내용 문의드리며, OB_001.xfdl l코드 블록 참조하여 문의 드립니다.아직 응용하기에 벅찬 부분이 있어 주문 수정과 함께 주문 등록도 같이 안내해주시면 정말 감사하겠습니다.재차 문의드려 번거롭게 해드려 죄송합니다. 이왕 시작한 것 꼭 구현해보고자 해서 문의드립니다.답변 주시면 정말 감사하겠습니다.감사합니다.(혹시 몰라 OB_001_01.xfdl과 OB_001_02.xfdl 코드블록도 참조드리겠습니다. 글자 수 제한 때매 다음 게시글에 첨부드리니 참조 해주시면 감사하겠습니다.) this.OB_001_onload = function(obj:nexacro.Form,e:nexacro.LoadEventInfo) { //alert("onload 함수 실행"); //OB_001.xfml 화면이 로드될 때, 검색 조건의 주문상태 콤보박스를 초기화 시킨다. //서버에 요청을 하기전에 서버에 전달해줘야할 인자값은 뭐가 있을지 생각해봐야 한다. //주문상태값만을 불러오기 위해선 TB_CD_MST 테이블의 WHERE절에 CD_VAL = '001'이라는 조건을 걸어줘야 한다. //따라서 DATASET에 001이라는 값을 넣어 서버로 전달 //ds_searchCombo 데이터셋을 생성하고 서버로 전달할 인자값 추가. this.ds_searchCombo.clearData();//데이터셋을 초기화 this.ds_searchCombo.addRow();//초기화한 데이터셋에 값을 세팅하기 위해 한줄을 추가 this.ds_searchCombo.setColumn(0,"CD_VAL","001");//추가된 0번째 ROW의 CD_VAL 컬럼에 001이라는 값을 추가 //서버로 데이터 전송 //서버로 데이터를 전송하기 전 필요한 값 세팅 var strSvcId = "selectCommonCode"; //넥사크로에서 트랜잭션을 구분하기 위한 id값, 이 id값은 차후 fncallback함수에 쓰인다. var strSvcUrl = "selectCommonCode.do"; //java Controller에서 요청을 처리 var inData = "ds_search=ds_searchCombo"; //서버로 전송할 데이터셋을 세팅 = 문자 기준으로 왼쪽이 서버, 오른쪽이 프론트 데이터셋 //서버측(.java)에도 = 기준 왼쪽 데이터셋명(ds_search)과 반드시 동일하게 명명해야한다. var outData = "ds_ordStatCombo=ds_commonCode"; //서버로부터 값을 전달받을 데이터셋을 세팅, inData와는 반대로 = 문자 기준으로 왼쪽이 프론트, 오른쪽이 서버 데이터셋 //서버측(.java)에서도 = 기준 오른쪽 데이터셋명(ds_commonCode)와 동일한 이름 사용해야함. var strAvg = ""; //데이터셋이 아닌 값을 보낼 때 쓰는 필드지만 데이터셋을 쓰는 것으로 통일 var callBackFnc = "fnCallback"; //서버로부터 값을 받은 이후 프론트에서 이행해야할 작업 코드를 fnCallback 함수에서 작성 this.gfnTransaction(strSvcId ,strSvcUrl ,inData ,outData ,strAvg ,callBackFnc); }; this.fn_search = function(nPageNo) { //alert("주문리스트 조회"); //1. 조회 버튼을 클릭했을 때, 우리는 db에서 데이터를 조회하여 값을 그리드에 뿌려줘야 한다. //프론트에서 값들을 데이터셋에 생성해서 서버로 보내줘야 한다. //검색조건에 있는 5개 조회 요건들의 맞게 값들을 담아서 서버로 보내줘야 한다. //값들을 주문 리스트 조회 시 where절에 넣어줘야 조건에 알맞은 데이터를 가져올 수 있다. //1. 따라서, 검색 조건들을 ds_searchList라는 데이터셋을 만들어서 값을 세팅하는 작업을 수행해야 한다. //2. 서버에서 가져온 주문리스트를 화면단에 그리드에 보여줘야 한다. // 만들어놓은 그리드 뼈대에 서버에서 보내준 결과인 ds_list 데이터셋을 만들어 바인딩한다. // 바인딩함으로써 그리드가 서버로부터 가져오는 ds_list값을 보여주도록 만든다. //3. this.gfnTransaction 함수를 통해 서버로 데이터를 전송하고 받는 작업 수행 this.ds_searchList.clearData();//ds_searchList 데이터셋 초기화 this.ds_searchList.addRow();//초기화한 데이터셋에 데이터 세팅할 ROW추가 // column별 데이터 추가 // 데이터를 추가하기 위해서 set으로 세팅한다. this.ds_searchList.setColumn(0,"ORD_NO",this.edt_ordNo.value); this.ds_searchList.setColumn(0,"CUST_NM",this.edt_custNm.value); this.ds_searchList.setColumn(0,"COMP_YN",this.chk_cmpYn.value); this.ds_searchList.setColumn(0,"ORD_STAT_CD",this.cbo_ordStat.value); this.ds_searchList.setColumn(0,"CUST_GBCD",this.rdo_custGb.value); trace("ds_searchList::::::: 조회 버튼 클릭시 로그 확인 :::::::::::::::::::::::::"); trace("ORD_NO :" + this.ds_searchList.getColumn(0,"ORD_NO")); trace("CUST_NM :" + this.ds_searchList.getColumn(0,"CUST_NM")); trace("COMP_YN :" + this.ds_searchList.getColumn(0,"COMP_YN")); trace("ORD_STAT_CD :" + this.ds_searchList.getColumn(0,"ORD_STAT_CD")); trace("CUST_GBCD :" + this.ds_searchList.getColumn(0,"CUST_GBCD")); var strSvcId = "selectOrdList"; //넥사크로에서 트랜잭션을 구분하기 위한 id값, 이 id값은 차후 fncallback함수에 쓰인다. var strSvcUrl = "selectOrdList.do"; //java Controller에서 요청을 처리 var inData = "ds_searchList=ds_searchList"; //서버로 전송할 데이터셋을 세팅 = 문자 기준으로 왼쪽이 서버, 오른쪽이 프론트 데이터셋 //서버측(.java)에도 = 기준 왼쪽 데이터셋명(ds_search)과 반드시 동일하게 명명해야한다. var outData = "ds_list=ds_list"; //서버로부터 값을 전달받을 데이터셋을 세팅, inData와는 반대로 = 문자 기준으로 왼쪽이 프론트, 오른쪽이 서버 데이터셋 //서버측(.java)에서도 = 기준 오른쪽 데이터셋명(ds_commonCode)와 동일한 이름 사용해야함. var strAvg = ""; //데이터셋이 아닌 값을 보낼 때 쓰는 필드지만 데이터셋을 쓰는 것으로 통일 var callBackFnc = "fnCallback"; //서버로부터 값을 받은 이후 프론트에서 이행해야할 작업 코드를 fnCallback 함수에서 작성 this.gfnTransaction(strSvcId ,strSvcUrl ,inData ,outData ,strAvg ,callBackFnc); } this.btn_selectOrd_onclick = function(obj:nexacro.Button,e:nexacro.ClickEventInfo) { this.fn_search(); }; this.btn_regOrd_onclick = function(obj:nexacro.Button,e:nexacro.ClickEventInfo) { //alert("주문 등록 팝업 오픈"); var oArg = {}; var oOption = {}; var sPopupCallBack = "fnPopupCallback"; this.gfnOpenPopup("popup","Board::OB_001_01.xfdl",oArg,sPopupCallBack,oOption); }; this.btn_updOrd_onclick = function(obj:nexacro.Button,e:nexacro.ClickEventInfo) { //alert("주문 수정 팝업 오픈"); var ordNo = this.ds_list.getColumn(this.ds_list.rowposition,"ORD_NO"); var oArg = {ordNo:ordNo}; var oOption = {}; var sPopupCallBack = "fnPopupCallback"; this.gfnOpenPopup("popup","Board::OB_001_02.xfdl",oArg,sPopupCallBack,oOption); }; this.btn_delOrd_onclick = function(obj:nexacro.Button,e:nexacro.ClickEventInfo) { //alert("주문 삭제 진행"); var ordNo = this.ds_list.getColumn(this.ds_list.rowposition,"ORD_NO"); //확인창 띄우기 var confirmResult = this.confirm("주문을 삭제하시겠습니까?"); if (confirmResult){ this.ds_delList.clearData(); this.ds_delList.addRow(); this.ds_delList.setColumn(0,"ORD_NO",ordNo); //서버로 deleteOrdList.do 라는 URL 요청에 ds_delList값을 담아 전송 var strSvcId = "deleteOrdList"; //넥사크로에서 트랜잭션을 구분하기 위한 id값, 이 id값은 차후 fncallback함수에 쓰인다. var strSvcUrl = "deleteOrdList.do"; //java Controller에서 요청을 처리 var inData = "ds_delList=ds_delList"; //서버로 전송할 데이터셋을 세팅 = 문자 기준으로 왼쪽이 서버, 오른쪽이 프론트 데이터셋 //서버측(.java)에도 = 기준 왼쪽 데이터셋명(ds_search)과 반드시 동일하게 명명해야한다. var outData = ""; //서버로부터 값을 전달받을 데이터셋을 세팅, inData와는 반대로 = 문자 기준으로 왼쪽이 프론트, 오른쪽이 서버 데이터셋 //서버측(.java)에서도 = 기준 오른쪽 데이터셋명(ds_commonCode)와 동일한 이름 사용해야함. var strAvg = ""; //데이터셋이 아닌 값을 보낼 때 쓰는 필드지만 데이터셋을 쓰는 것으로 통일 var callBackFnc = "fnCallback"; //서버로부터 값을 받은 이후 프론트에서 이행해야할 작업 코드를 fnCallback 함수에서 작성 this.gfnTransaction(strSvcId ,strSvcUrl ,inData ,outData ,strAvg ,callBackFnc); } }; this.grd_ordList_oncelldblclick = function(obj:nexacro.Grid,e:nexacro.GridClickEventInfo) { //그리드 셀 더블 클릭시 실행 }; this.chk_cnpYn_onchanged = function(obj:nexacro.CheckBox,e:nexacro.CheckBoxChangedEventInfo) { //alert("onchanged 함수 실행"); }; this.grd_ordList_onheadclick = function(obj:nexacro.Grid,e:nexacro.GridClickEventInfo) { //아래 속성에서 0은 그리드에서 0번째 column을 의미하며, text값을 가져오라는 의미 var chkVal = obj.getCellProperty("head", 0, "text"); // 0이면 체크 안된 상태이고 1이면 체크된 상태 if(chkVal == "1"){ // 이미 체크된 상태라면 체크 해지로 변환 chkVal = "0"; obj.setCellProperty("head", 0, "text", chkVal); // 프론트에 적용(HEAD 부분) for (var i=0; i<this.ds_list.rowcount; i++) { // 프론트에 적용(ROW 부분) this.ds_list.setColumn(i,"CHK","0"); } }else{ chkVal = "1"; // 체크 안 된 상태라면 체크 표시 obj.setCellProperty("head", 0, "text", chkVal); // 프론트에 적용(HEAD 부분) for(var i=0; i<this.ds_list.rowcount; i++){ // 프론트에 적용(ROW 부분) this.ds_list.setColumn(i,"CHK","1"); } } }; /******************************************************************************************* * CallbackFunction (서버수신 후 후처리 영역) ********************************************************************************************/ this.fnCallback = function(svcID, errorCode, errorMsg) { if(errorCode < 0){ alert("작업 실패 코드: " + errorCode + "\n" + errorMsg) return 0; } switch(svcID) { case "selectCommonCode" : this.ds_ordStatCombo.insertRow(0);//0번째 ROW에 라인 삽입 this.ds_ordStatCombo.setColumn(0,"CD_VAL1",""); this.ds_ordStatCombo.setColumn(0,"CD_NM1","전체"); break; case "deleteOrdList" : alert("주문 삭제 완료 되었습니다."); //조회버튼을 누르는 동작 this.fn_search(); break; } }; this.fnPopupCallback = function (strId, strVal) { trace("strId :" + strId + "strVal :" + strVal); switch(strId) { case "updatePopup" : this.fn_search(); break; } };
-
해결됨실무 환경 그대로 주문게시판 만들기 웹개발 기초 마스터
주문 등록 및 주문 수정 그리드 업데이트 관련 문의드립니다.(2차 문의)
안녕하십니까. 우선 어제 문의드린 사항 친절히 답변주셔서 진심으로 감사드립니다. 도움 주신 덕분에 주문삭제 버튼 클릭시 바로 그리드에 반영되어 조회버튼 재클릭 없이 그리드 리스트에서 삭제 되는 부분과 체크박스 및 전체선택, 전체해제하는 부분까지 구현 하였습니다.도움주셔서 정말 감사드립니다. 다만, 주문 등록과 주문 수정은 주문삭제와 다르게 팝업창에서 진행되다보니 주문 삭제와 동일한 방식으로 아무리 해봐도 주문 삭제 버튼 클릭할 때와 다르게 그리드에 바로 적용되지 않고 조회버튼을 재클릭해야 그리드에 변경사항이 반영되는 상황인데 주문 등록과 주문 수정과 관련하여 어떻게 구현해야될지 재차 문의드립니다. 두 가지(주문 등록 및 주문수정 후 조회버튼 재클릭 없이 그리드리스트 업데이트 내용 바로 반영 구현) 관련하여 좀 더 상세히 설명해주시면 정말 감사하겠습니다..! 감사합니다.
-
해결됨실무 환경 그대로 주문게시판 만들기 웹개발 기초 마스터
그리드 리스트 업데이트 관련 질문드립니다.
안녕하세요. 주문게시판-웹개발 부분 수강 중에 문의 사항 있어 글 작성 드립니다. 현재 그리드의 리스트에서 주문 등록, 주문 수정, 주문 삭제까지 pdf자료와 강의 보면서 구현하였는데혼자 심화학습중에 어려운 부분 있어 질문드립니다. 문의 사항은 다음과 같습니다.1) 현재는 주문 등록, 수정 및 삭제 모두 변경 사항을 확인하려면 변경한 후, 조회버튼을 재클릭해야 구현한 세 가지 변경 사항들이 그리드 리스트에서 변경 사항을 확인할 수 있는데주문 등록, 주문 수정, 주문 삭제 하였을 때 "조회버튼 재클릭하지 않고" 변경 사항이 바로 리스트에 반영되도록 구현하려면 어떻게 해야 될지 문의 드립니다. 2) 그리드 리스트에서 현재는 주문번호에 따라 선택한 행 1건씩 주문 삭제가 가능한데 그리드 리스트 내에 체크박스를 만들어서 다건 삭제를 하려면 어떻게 구현해야할지 문의드립니다. 감사합니다.
-
미해결실무 환경 그대로 주문게시판 만들기 웹개발 기초 마스터
별첨 자료가 어디있는지요
안녕하세요 강의를 수강하고 있습니다. 별첨 자료에 쿼리랑 참고하려고 하는데 별첨자료 파일이 어디있는지 못찾겠어서 경로 알려주시면 감사드립니다.
-
해결됨실무 환경 그대로 주문게시판 만들기 웹개발 기초 마스터
페이징 작업에 대한 사항 알려 주실 수 있나요?
강의 모두 잘 들었습니다.페이징 작업에 대한 사항은 없어서 이렇게 질문 올립니다. 인터넷에 나와있긴 하던데 강의할 때 사용한 코드에 페이징 작업이 어떻게 들어갈지 궁금하여서요.참고할만한 문서나 링크로도 답변해주시면 감사합니다.
-
해결됨실무 환경 그대로 주문게시판 만들기 웹개발 기초 마스터
이클립스 설치중 오류
안녕하세요 :)이클립스 설치 중 오류 메세지로 인해 진행이 안되고 있어 문의남겨드립니다강의자료에 기재되어있는 그대로http://mangosteen.tobesoft.co.kr/nexus/repository/tobesoft-snapshots/archetype-catalog.xml Description : TOBESOFT로 넣어서 설치 진행하였고말씀해 주신 버전과 Version : 1.0.1-20220603.053230-4(매우 중요!! 반드시 이 버전으로 해야함)동일하게 진행을 하였는데요 아래와 같은 오류가 뜹니다'Creating uiadapter-spring-sample-archetype'has encountered a problem. Failed to create project.이클립스 문제인가 싶어서 재설치 후 동일하게 설정을 진행하였는데도 같은 오류가 계속 발생됩니다. 문의드린사항 확인 후 답변 주시면 감사드리겠습니다 :)
-
해결됨실무 환경 그대로 주문게시판 만들기 웹개발 기초 마스터
팝업 종료 콜백
부모에서 자식 팝업을 띄울 때,this.gfnOpenPopup("popup", "Board::OB_001_02.xfdl", oArg, sPopupCallBack, oOption);이렇게 사용한다고 하셨는데,sPopupCallBack 사용예시가 있을까요? 팝업 내에서 서버호출 후에 콜백함수 예시는 있는데, 자식 팝업에서 부모로 콜백시키는 함수(sPopupCallBack) 는 있는데 예시는 없어서요. 자식 팝업에서 수정완료 후 this.close(); 하면서 부모의 그리드(주문내역 조회)를 reload 하고싶습니다.
-
해결됨실무 환경 그대로 주문게시판 만들기 웹개발 기초 마스터
주문 수정 구현 강의 중 xml update 태그
주문 수정 구현 강의 중 xml에 update 쿼리 작성시 <update> 대신 <insert> 태그를 사용한 이유가 따로 있을까요?
-
해결됨실무 환경 그대로 주문게시판 만들기 웹개발 기초 마스터
spring web 개발 환경 세팅 오류
잘 보이실진 모르지만 번역해보니 원하는 아키타입이 존재하지 않습니다. 라고 확인 되더라구요,, 어떻게 해결해야 할지 모르겠습니다.. pdf 랑 강의내용 모두 확인했습니다
-
해결됨실무 환경 그대로 주문게시판 만들기 웹개발 기초 마스터
1.5에서 오류
윈도우에서 이미 사용하고있던 jdk나 이클립스 오라클이 버전이 다른데 설치 영상에 나와있는 모든 조건은 만족해야 이 강의를 들을 수가 있나요?? 오라클은 XE로 공부중이라 스프링에서 오류가 뜹니다
-
해결됨실무 환경 그대로 주문게시판 만들기 웹개발 기초 마스터
심화된 강의문의
안녕하세요. 강의 잘 보고있습니다..혹시 넥사크로 + 자바 스프링 관련하여 좀 더 심화된 강의는 준비중이신가요??예를들어.. 프론트 단에서 상하좌우 프레임 레이아웃을 통한 업무하면 구성이라던지..좌측과 상단 메뉴구성이라던지.. 본 강의가 첨부터 따라하면 이해가 잘되서 혹시 준비중이신지 궁금합니다
-
해결됨실무 환경 그대로 주문게시판 만들기 웹개발 기초 마스터
맥 설치
지금 맥북으로 인강을 듣고 있는데요 혼자 너무 헤매고 있습니다.... 맥 환경에서 설치 따라갈수 있는 방법이 없을까요??