이번에 소개하고자 하는 플러그인은 BlockUI라는 jQuery플러그인입니다.
레이어 팝업만들기에 유용한 플러그인이랍니다~
하단 링크를 통해서 다운로드 받으실 수 있습니다.
다운로드 : https://github.com/malsup/blockui/
우측을보시면 Download ZIP이라는 버튼이 있는데 클릭합니다.
압축해제후 jquery.blockUI.js 이란 파일을 프로젝트 경로에 넣어줍니다.
위와같은 구조로 예를 들기위해 js파일을 root 경로에 위치하였습니다.
blockUI는 레이아웃팝업을 쉽게지원해주는 플러그인이기도 하며
AJAX 호출하는동안 화면을 보호하기 위한 목적에도 사용이 됩니다.
호출명령어는
//BLOCKUI 화면 출력 $.blockUI({//속성추가}); //BLOCKUI 화면 제거 $.unblockUI();
입니다.
레이어 팝업에 표출시킬 경우 보여주고자 하는 태그들은 message 속성에 정의를 해주거나 body 태그내에 레이아웃을 제작한 다음 display:none; 속성을 style 속성에 정의를 해준 후 해당 레이아웃을 불러올수도 있습니다.
또한 css속성을 이용하여 레이어팝업의 스타일을 별도로 지정하는것이 가능합니다.
그리고 전체 화면에 레이어팝업을 띄울뿐만 아니라 특정 엘리먼트 영역에 레이어팝업을 띄워주게도 지원을 합니다.
1. 전체 화면에 blockUI적용
2. 일부 엘리먼트영역에 blockUI적용
3. blockUI 영역에 별도의 CSS 적용
이 3가지를 다루어 보도록 하겠습니다.
blockUI 플러그인을 사용하기 위해서는 jQuery include는 필수겠죠?
저는 CDN을 이용하여 jQuery 를 사용하도록 하겠습니다.
<script type="text/javascript" src="//code.jquery.com/jquery-1.11.0.min.js"></script> <script type="text/javascript" src="jquery.blockUI.js"></script>
버튼 클릭하여 모달창을 띄운 후 모달창에 존재하는 닫기 버튼을 클릭하여 모달을 제거하도록 해보겠습니다.
<input type="button" id="openmodal" value="모달띄우기"/>
$(function(){ $("#openmodal").click(function(){ $.blockUI({message : "<input type='button' value='모달닫기' onclick='removeModal()' />"}) }) }) function removeModal(){ $.unblockUI(); }
코드작성이 완료 되셨다면 실행을 해보도록 하겠습니다.
브라우저전체를 어두운 바탕으로 감싼다음 중앙에 닫기 버튼이 생성되었고
닫기버튼을 클릭하여 모달창을 사라지게 하였습니다.
다음은 특정 엘리먼트 내에만 모달창을 띄워보도록 하겠습니다.
특정 엘리먼트영역에 모달창을 띄우고 사라지게 하는 함수는 다음코드를 적용해주셔야 합니다.
//엘리먼트내에 BLOCKUI 화면 출력 $("selector").block(//option); //엘리먼트내에 BLOCKUI 화면 제거 $("selector").unblock();
blockUI함수대신 block함수를
unblockUI대신 unblock 함수를
사용하면됩니다.
앞에 셀렉터를 적용해주시면 되겠습니다.
<input type="button" id="openmodal" value="모달띄우기"/> <br/> <div id="blocklayer">여기만<br/>모달창으로 감쌉니다</div>
$(function(){ $("#openmodal").click(function(){ $("#blocklayer").block({message : "<input type='button' value='모달닫기' onclick='removeModal()' />"}) }) }) function removeModal(){ $("#blocklayer").unblock(); }
마지막으로 css 속성을 이용하여 모달의 스타일을 변경해보도록 하겠습니다.
코드는 다음과같이 작성하시면 되겠습니다.
$("셀렉터").block({ message : "모달에 출력할 메시지", css: { border: '3px solid #a00' } }) //또는 $.blockUI({ message : "모달에 출력할 메시지", css: { border: '3px solid #a00' } })
전체페이지에 적용할지 혹은 특정 엘리먼트레이아웃에 적용할지로 나누었지만
실제 속성 적용은 모두 동일합니다.
그럼 유용하게 사용하세요~
by 개발로짜
jQuery Cookie 플러그인을 사용하여 손쉽게 쿠키정보 제어하기 (0) | 2014.10.25 |
---|---|
jQuery Validation 플러그인을 이용하여 손쉽게 검증하기 (1) | 2014.10.22 |
jQuery tablednd 플러그인을 사용하여 테이블을 드래그앤드롭으로 순서변경하기 (0) | 2014.10.15 |
jQuery jqPlot를 사용하여 선형,원형(파이형),막대형 그래프 생성하기 (9) | 2014.10.15 |
jQuery Form플러그인 이용한 ajax 파일업로드하기 + FormData() 추가설명 (26) | 2014.10.10 |
이번에는 각 dbms별로 문자열을 합치는 코드를 작성해보도록 하겠습니다.
비교할 DBMS들은 Oracle,MSSQL,MySQL 이 3가지를 비교해볼까 합니다.
기존테이블 기준으로 설명을 드리겠습니다.
상단처럼 title 컬럼과 idx 컬럼이 존재하는 A테이블의 데이터를 합쳐보도록 하겠습니다.
오라클의 경우 문자열을 합치고자 하려면 일명 OR 표시로 문자열을 붙여줍니다.
SELECT TITLE,IDX,TITLE||'-'||IDX TOTAL FROM A
TITLE,IDX 컬럼에 추가로 TITLE + - + IDX 문자열을 합쳐서
TOTAL이라는 ALIAS를 정해준 쿼리결과를 확인해보도록 하겠습니다.
다음은 MySQL 컬럼의 문자열을 합쳐보도록 하겠습니다.
역시 기존 존재하는 테이블의 테이블 확인 후 문자열을 합쳐보도록 하겠습니다.
title,content 컬럼의 문자열을 합쳐보도록 하겠습니다.
MySQL의 경우 concat이라는 함수를 이용하여 문자열 합치는것이 가능합니다.
SELECT TITLE,CONTENT,CONCAT(TITLE,'-',CONTENT) TOTAL FROM BOARD_NEW
Oracle과 마찬가지로 동일하게 문자열이 합쳐졌습니다.
마지막으로 MS-SQL의 문자열합치기를 해보겠습니다.
위처럼 Survey 테이블 컬럼의 answer_1_1/answer_1_2 컬럼의 문자열을 합쳐보도록 하겠습니다.
MSSQL은 플러그기호(+)를 이용하여 문자열합치기가 가능합니다.
select answer_1_1,answer_1_2, answer_1_1+'-'+answer_1_2 TOTAL from Survey
역시 정상적으로 문자열이 합쳐졌습니다.
IBATIS/MYBATIS에도 동일하게 적용이 가능하니 잘 사용하시길...
by 개발로짜
MySQL,ORACLE(오라클),MSSQL 2005(+) 페이징쿼리 작성하여 동작시켜보기 (0) | 2014.10.27 |
---|---|
MSSQL,ORACLE을 이용하여 트리구조로 출력시켜주는 재귀쿼리를 만들어보자 (0) | 2014.10.26 |
오라클 시퀀스 생성법과 테이블에 등록시 시퀀스 자동증가등을 알아보자 (0) | 2014.10.15 |
MySQL과 MSSQL의 시퀀스생성 및 초기화 하는방법에 대해서 알아보도록 하자 (0) | 2014.10.14 |
MySQL- GROUP_CONCAT 함수로 세로로 출력된 결과를 하나의 컬럼에 가로로 출력하기 (0) | 2014.10.13 |
zxing라이브러리를 이용하여 큐알코드를 생성해보도록 하겠습니다.
기본 검정색바탕의 코드 생성말고도
추가로 코드의 색상들을 변경하는 기능까지 추가 구현하려 합니다.
먼저 라이브러리를 다운받아야 하겠지요?
https://github.com/zxing/zxing
상단 링크를 들어가셔서 Download ZIP 버튼을 클릭하여 라이브러리를 다운로드 받도록 합니다.
압축해제를 해주시면 다양한 종류의 라이브러리 코드들이 존재하는데
저는 샘플링을 위해 자바프로젝트에서 라이브러리를 이용할 것이므로
code 디렉토리와 javase 디렉토리내에 존재하는
/src/main/java/com 디렉토리를 각각 복사해서
저의 프로젝트 패키지에 적용하였습니다.
웹프로젝트로 진행하실 분들의 경우 저처럼 패키지들을 그대로 복사해서 사용하셔도 무관하나
pom.xml을 이용하시는 프로젝트에서는
<dependency> <groupId>com.google.zxing</groupId> <artifactId>javase</artifactId> <version>3.1.0</version> </dependency>
위와같이 pom.xml에 dependency를 추가해주시면 되겠습니다.
샘플 코드는 다음과 같습니다.
public static void main(String ar[]) { try { File file = null; // 큐알이미지를 저장할 디렉토리 지정 file = new File("D:\\qrtest"); if(!file.exists()) { file.mkdirs(); } // 코드인식시 링크걸 URL주소 String codeurl = new String("http://hellogk.tistory.com".getBytes("UTF-8"), "ISO-8859-1"); // 큐알코드 바코드 생상값 int qrcodeColor = 0xFF2e4e96; // 큐알코드 배경색상값 int backgroundColor = 0xFFFFFFFF; QRCodeWriter qrCodeWriter = new QRCodeWriter(); // 3,4번째 parameter값 : width/height값 지정 BitMatrix bitMatrix = qrCodeWriter.encode(codeurl, BarcodeFormat.QR_CODE,200, 200); // MatrixToImageConfig matrixToImageConfig = new MatrixToImageConfig(qrcodeColor,backgroundColor); BufferedImage bufferedImage = MatrixToImageWriter.toBufferedImage(bitMatrix,matrixToImageConfig); // ImageIO를 사용한 바코드 파일쓰기 ImageIO.write(bufferedImage, "png", new File("D:\\qrtest\\qrcode.png")); } catch (Exception e) { e.printStackTrace(); } }
상세설명은 주석에 작성이 되어있으므로 설명은 제외 하도록 하겠습니다.
해당 샘플을 응용하셔서 유틸클래스로 변경후 웹프로젝트에 적용을 하시면 되실거 같네요.
실행한 결과 위처럼 바코드색상이 푸른계열로 만들어 졌습니다.
한번 정상적으로 모바일에서 인식을 하는지 테스트 해보도록 하겠습니다.
결과는 위와같이 바코드 스캐너 앱에서 생성 URL을 인식을 하네요 ㅎㅎ
ZXING는 큐알코드에 색상변경 또한 가능합니다
생상코드값은 안드로이드그래픽색상값을 사용해야 하는거 같네요 ㅎ
찾아보니 색상코드를 찾아주는 사이트가 존재하네요
링크사이트 이동후 검색을 클릭하시면 COLOR PICKER 화면이 뜨는데
원하시는 색상을 클릭하시거나 또는 일반 웹에서 사용되는 #ffffff 컬러색상
또는 red/white와 같은 문자열입력으로 검색이 가능합니다.
검색후 안드로이드그래픽 색상값을 확인하실 수 있습니다.
네이버의 녹색 계열의 배경색 코드를 예를들자면,
#44B316이네요 검색시 맨앞에 #을 제거해도 무관합니다.
RGB,RGBA,RYB,헥스,10진,안드로이드그래픽 칼라색상등
같은 색상을 다양한 코드로 출력을 시켜주네요.
ZXING는 안드로이드 그래픽칼라색상을 이용하니 "0xff44b316" 가 되겠습니다.
기존 샘플링코드 중 qrcodeColor 변수에 적용하여 큐알코드를 출력해보도록 하겠습니다.
큐알코드의 색상이 원하는대로 적용되어 출력되었습니다.
지금까지 zxing라이브러리를 이용하여 큐알코드를 생성해보았습니다 ^^
by 개발로짜
[JAVA 샘플] 트위터 앱생성 + twitter4j를 이용하여 타임라인(Timeline) 목록 출력하기 (3) | 2014.11.20 |
---|---|
JAVA opencsv를 이용하여 csv 파일생성하기 (2) | 2014.10.24 |
자바 다운로드 유틸을 만들어서 웹서버에 등록되있는 파일을 다운로드 하자 (5) | 2014.10.07 |
자바 POI를 이용한 엑셀(xls,xlsx)에 들어있는 데이터들 읽어오기 (8) | 2014.10.07 |
POI라이브러리를 이용하여 엑셀파일(xls,xlsx) 에 데이터 넣어서 파일로 만들기 (1) | 2014.10.07 |