숫자 키입력 검사
Javascript & JQuery2016. 4. 1. 10:30
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | //숫자 키입력 검사 function isNumberKeyDown(e) { e = e || window.event; var keyCode = (e.keyCode ? e.keyCode : e.which); if (keyCode == 8 || keyCode == 9 || keyCode == 27 || keyCode == 46) return true ; //BackSpace, Tab, ESC, Delete if (keyCode == 35 || keyCode == 36 || keyCode == 37 || keyCode == 39) return true ; //Home, End, Left, Right Arrow if (e.ctrlKey || e.shiftKey || keyCode == 13) return false ; //Enter return ((keyCode > 47 && keyCode < 58) || (keyCode > 95 && keyCode < 106)); } <input type= "text" name= "tbTest" onkeydown= "return isNumberKeyDown(event);" style= "ime-mode:disabled" > 위와 같이 처리해도 한글은 입력되기 때문에 한글 입력을 방지하기 위해 ime-mode 스타일 추가 |
'Javascript & JQuery' 카테고리의 다른 글
[Typescript] 2개의 좌표(경도, 위도)로 거리 계산 (0) | 2021.05.14 |
---|---|
사용자 웹 브라우저 및 버전 확인 (0) | 2017.03.21 |
체크박스 전체 선택 및 해제 (0) | 2016.04.01 |
입력 데이터가 제대로 된 날짜인지 검사 (0) | 2016.04.01 |
오라클 주차로 주차 날짜 구하기
Oracle2016. 3. 24. 10:23
1 2 3 4 5 6 7 8 9 10 11 12 13 | SELECT TO_CHAR(EXAM_DATE, 'IW' ) AS WEEK_NO ,TO_CHAR(EXAM_DATE, 'YYYYMMDD' ) AS EXAMDATE ,DECODE(TO_CHAR(EXAM_DATE, 'D' ), '1' , '일' , '2' , '월' , '3' , '화' , '4' , '수' , '5' , '목' , '6' , '금' , '토' ) AS WEEK_NAME FROM ( SELECT TO_DATE( '20160321' , 'YYYYMMDD' ) + (ROWNUM - 1) AS EXAM_DATE FROM DICTIONARY WHERE ROWNUM < 8 ) A |
'Oracle' 카테고리의 다른 글
특정 기간 날짜 모두 SELECT (0) | 2017.05.23 |
---|---|
여러 행의 문자열을 한 행으로 표시 (0) | 2016.04.20 |
Alfresco 웹스크립트를 이용한 사이트 생성
기타2015. 7. 21. 18:14
알프레스코 웹스크립트를 이용한 사이트 생성
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 | /** * 사이트를 생성한다. * @param siteName 사이트명(빈칸, 특수문자 불가) * @param title 사이트 제목 * @param description 사이트 설명 * @param visibility 공개유형(PUBLIC/PRIVATE/MODERATED) * @return */ public boolean createSite(String siteName, String title, String description, String visibility) { String doLoginUrl = ALFRESCO_SERVER_URL + "/share/page/dologin" ; String dashboardUrl = ALFRESCO_SERVER_URL + "/share/page/user/admin/dashboard" ; String createSiteUrl = ALFRESCO_SERVER_URL + "/share/service/modules/create-site" ; CloseableHttpClient client = getHttpClient(); try { List<BasicNameValuePair> params = new ArrayList<BasicNameValuePair>(); params.add( new BasicNameValuePair( "username" , ALFRESCO_ADMIN_ID)); params.add( new BasicNameValuePair( "password" , ALFRESCO_ADMIN_PASS)); HttpPost loginPost = new HttpPost(doLoginUrl); loginPost.setHeader( "Content-Type" , "application/x-www-form-urlencoded" ); loginPost.setEntity( new UrlEncodedFormEntity(params)); CloseableHttpResponse response = client.execute(loginPost); try { StatusLine statusLine = response.getStatusLine(); //알프레스코는 로그인 후 Share 페이지로 이동하기 때문에 //getStatusCode() 리턴값이 SC_OK가 아니라 SC_MOVED_TEMPORARILY if (statusLine.getStatusCode() == HttpStatus.SC_MOVED_TEMPORARILY) { org.apache.http.Header[] headers = loginPost.getAllHeaders(); String JSESSIONID = "" ; String alfUsername3 = "" ; String alfLogin = "" ; //--------------------------------------- //로그인 쿠키값 추출 //--------------------------------------- for ( int i = 0 ; i < headers.length; i++) { Integer idxJsession = headers[i].toString().indexOf( "JSESSIONID=" ); if (idxJsession > - 1 ) { JSESSIONID = headers[i].toString().substring(idxJsession + 11 , idxJsession + 11 + 32 ); } Integer idxAlfUsername3 = headers[i].toString().indexOf( "alfUsername3=" ); if (idxAlfUsername3 > - 1 ) { alfUsername3 = headers[i].toString().substring(idxAlfUsername3 + 13 , idxAlfUsername3 + 13 + 5 ); } Integer idxAlfLogin = headers[i].toString().indexOf( "alfLogin=" ); if (idxAlfLogin > - 1 ) { alfLogin = headers[i].toString().substring(idxAlfLogin + 9 , idxAlfLogin + 9 + 10 ); } } //--------------------------------------- //데시보드 //--------------------------------------- String cookie = "JSESSIONID=" + JSESSIONID + ";" + "alfLogin=" + alfLogin + ";" + "alfUsername3=" + alfUsername3 + ";" ; HttpGet dashboadrGet = new HttpGet(dashboardUrl); dashboadrGet.setHeader( "Content-Type" , "application/json" ); dashboadrGet.setHeader( "Accept" , "application/json" ); dashboadrGet.setHeader( "Cookie" , cookie); CloseableHttpResponse response2 = client.execute(dashboadrGet); try { StatusLine statusLine2 = response2.getStatusLine(); if (statusLine2.getStatusCode() == HttpStatus.SC_OK) { org.apache.http.Header[] headers2 = dashboadrGet.getAllHeaders(); String csrfToken = "" ; for ( int i = 0 ; i < headers2.length; i++) { Integer idxCsrfToken = headers2[i].toString().indexOf( "Alfresco-CSRFToken=" ); if (idxCsrfToken > - 1 ) { csrfToken = headers2[i].toString().substring(idxCsrfToken + 19 , idxCsrfToken + 19 + 50 ); } } //--------------------------------------- //사이트 생성 //--------------------------------------- String cookie2 = cookie + " Alfresco-CSRFToken=" + csrfToken + ";" ; JSONObject site = new JSONObject(); site.put( "shortName" , siteName); site.put( "sitePreset" , "site-dashboard" ); site.put( "title" , title); site.put( "description" , description); site.put( "visibility" , visibility); HttpPost createSitePost = new HttpPost(createSiteUrl); createSitePost.setHeader( "Content-Type" , "application/json" ); createSitePost.setHeader( "Accept" , "application/json" ); createSitePost.setHeader( "Cookie" , cookie2); createSitePost.setEntity( new StringEntity(site.toString(), ContentType.create( "text/plain" , Consts.UTF_8))); CloseableHttpResponse response3 = client.execute(createSitePost); try { StatusLine statusLine3 = response3.getStatusLine(); if (statusLine3.getStatusCode() == HttpStatus.SC_OK) { logger.info(String.format( "★★★ %s Site Created!!!★★★" , siteName)); return true ; } else { logger.error( "Method failed createSitePost: " + response3.getStatusLine()); } } catch (Exception e) { logger.error(e.getMessage()); } finally { response3.close(); } } else { logger.error( "Method failed dashboadrGet: " + response2.getStatusLine()); } } catch (Exception e) { logger.error(e.getMessage()); } finally { response2.close(); } } else { logger.error( "Method failed loginPost: " + response.getStatusLine()); } } catch (Exception e) { logger.error(e.getMessage()); } finally { response.close(); } } catch (Exception e) { logger.error(e.getMessage()); } return false ; } |
사이트 정보 조회
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 | public HashMap getSite(CloseableHttpClient client, String siteName) { HttpGet method = null ; try { // /alfresco/s/api/sites/{shortname} String url = String.format( "%s/api/sites/%s" , ALFRESCO_SERVER_SVC, siteName); method = new HttpGet(url); CloseableHttpResponse response = client.execute(method); try { StatusLine statusLine = response.getStatusLine(); if (statusLine.getStatusCode() == HttpStatus.SC_OK) { return createResponse(response); } else { logger.error(statusLine.getStatusCode() + " " + statusLine.getReasonPhrase()); } } finally { response.close(); } } catch (Exception e) { e.printStackTrace(); } finally { method.releaseConnection(); } return null ; } |
사이트 존재여부
1 2 3 4 5 6 7 8 9 10 | /** * 사이트 존재여부 * @param client * @param siteName 사이트명 * @return */ public boolean existSite(CloseableHttpClient client, String siteName) { return ( this .getSite(client, siteName) != null ); } |
JSON 데이터 변환
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 | /** * 서버 반환 데이터를 HashMap으로 변환한다. * @param response * @return */ private HashMap createResponse(CloseableHttpResponse response) { try { HttpEntity entity = response.getEntity(); if (entity != null ) { InputStream instream = entity.getContent(); try { return createResponse(instream); } finally { instream.close(); } } } catch (Exception e) { e.printStackTrace(); } return null ; } |
'기타' 카테고리의 다른 글
[마이플랫폼] Base64 문자열을 이미지 컴포넌트에 표시하기 (0) | 2018.04.26 |
---|---|
Web API CORS 관련 문제 해결(개발 시) (0) | 2017.12.22 |
[UbiReport] 그룹별 제목과 다단 보고서 (0) | 2016.05.11 |
Alfresco Share Login 페이지에서 CSRF 필터 오류 해결법 2가지 (0) | 2015.07.21 |
[C1FlexGrid] 이미지로 버튼 흉내내기 (0) | 2011.11.15 |