아~~~ 주 기초적이긴 하지만 혹시 몰라서 필요하신분들을 위해서 게시물
넘버링하는 샘플소스 올려봅니다~
//넘버링에 필요한 변수 int listNumber, n = 0; //db에서 select한 list객체를 for문으로 뽑는다. for(int i=0; i<list.size(); i++) { // listNumber가 게시물 번호를 뜻하는데 // 페이징을 하게 되면 대부분 totalcount, // 페이징에 필요한 start,end 를 구하게 될텐데 // 다음처럼 적용해보면 된다. listNumber = totalcount - (start + n)+1 ; //콘솔에 값을 찍어본다 System.out.println("페이지번호:"+listNumber); // 값이 원하는 숫자가 나오게 된다면 list 객체에 있는 // 페이지 번호변수에 set을해준다. // 예를들어 list객체가 선언한 vo타입내에 // private int listNum; 이라고 주었다면 // list.get(i).setListNum(listNumber); 처럼 set을 해주고 // 화면에 뽑아오면 될것이다. n++; }
도움이 되셨다면 손가락↓ 클릭! 궁금하신점은 댓글!!
json-simple 라이브러리를 이용한 ObjecToString 과 StringToObject 코드구현 (2) | 2014.07.04 |
---|---|
자바 파일다운로드 - 멀티 브라우저지원 샘플코드 (0) | 2014.06.12 |
엑셀다운 POI 라이브러리 - 엑셀파일에서 내용 읽기 (0) | 2014.06.10 |
자바 썸네일 이미지 생성 (0) | 2014.06.09 |
poi 라이브러리를 이용하여 엑셀 파일을 만들어보도록 하자 - (xls 확장자) (0) | 2014.06.05 |
가끔씩 작업하다보면 리스트상의 썸네일 이미지를 생성해야 할 경우가 생긴다.
원본 이미지를 억지로 이미지 사이즈를 조정해서 뿌릴수 있긴 하지만 썸네일을 생성해서 축소된 썸네일 이미지를 화면에 뿌리는게 조금더 깔끔하고 속도면에서도 괜찮다.
샘플링 소스는 다음과 같다.
아마 java 자체에서 제공해주는 api를 사용하는 방식이어서 버전을 타는것으로 알고 있다...
JDK 1.6 까지는 테스트 해보았는데 1.5에서는 될지 안될지 모른다. 안될경우 별도의 라이브러리를 이용해서 썸네일을 구현하는것으로 알고 있다.
하위 버전에서의 샘플링은 별도로 올리도록 하겠다...
샘플링은 다음과 같다.
Test.JAVA
import java.awt.Graphics2D; import java.awt.image.BufferedImage; import java.io.File; import javax.imageio.ImageIO; public class Test { public static void main(String ar[]) { try { File originalFileNm = new File("D:/test.jpg"); File thumbnailFileNm = new File("D:/test_thumbnail2.jpg"); int width = 50; int height = 50; // 썸네일 이미지 생성 BufferedImage originalImg = ImageIO.read(originalFileNm); BufferedImage thumbnailImg = new BufferedImage(width, height, BufferedImage.TYPE_3BYTE_BGR); // 썸네일 그리기 Graphics2D g = thumbnailImg.createGraphics(); g.drawImage(originalImg, 0, 0, width, height, null); // 파일생성 ImageIO.write(thumbnailImg, "jpg", thumbnailFileNm); } catch (Exception e) { e.printStackTrace(); } } }
도움이 되셨다면 손가락↓ 클릭! 궁금하신점은 댓글!!
json-simple 라이브러리를 이용한 ObjecToString 과 StringToObject 코드구현 (2) | 2014.07.04 |
---|---|
자바 파일다운로드 - 멀티 브라우저지원 샘플코드 (0) | 2014.06.12 |
엑셀다운 POI 라이브러리 - 엑셀파일에서 내용 읽기 (0) | 2014.06.10 |
게시물 번호 구하기 샘플소스 (0) | 2014.06.09 |
poi 라이브러리를 이용하여 엑셀 파일을 만들어보도록 하자 - (xls 확장자) (0) | 2014.06.05 |
자바스크립트에서는 replace 함수를 제공하지만 replaceall함수는 없는걸로 알고 있다.
replace함수는 전제 문자열에서 특정 문자 여러개를 변경하지는 않는다.
only one!!
replaceall 함수를 한번 만들고 사용해보자
window.onload = function(){ var str = "2013-01-02"; alert("변경전 문자:"+str); str = replaceall(str,"-",""); alert("변경후 문자:"+str); }; function replaceall(fullStr,originalStr,changeStr){ return fullStr.split(originalStr).join(changeStr); }
해당 소스를 스크립트 코드안에 넣어봐서 돌려보시면 이해가 가실겁니다.
도움이 되셨다면 손가락↓ 클릭! 궁금하신점은 댓글!!
swfobject.js 를 이용하여 화면에 플래시파일 호출하기 (0) | 2014.07.29 |
---|---|
jquery 체크박스 전체 선택/해제 샘플소스 (1) | 2014.06.10 |
예전부터 써왔던 엑셀관련 라이브러리다.
엑셀 외에도 word, 파워포인트,비지오, 아웃룩등을 지원 하는거 같은데
본인은 POI 라이브러리는 주로 엑셀 업/다운로드에 자주 사용한다.
xlsx 까지 지원을 해주긴 하지만 이번 포스팅은 xls만 샘플로 제작하도록 하겠음
보통 DB에서 조회데이터를 list 객체에 담아서 해당 데이터를 for문에 돌려서 row를
생성하고 각각의 셀에 해당 데이터들을 담고 파일로 생성한 후 다운로드 로직을 태운다.
spring + mybatis 작업으로 관련된 샘플로직을 만들어 봤다.
다운로드 URL은 http://poi.apache.org/download.html 인거 같다.
다운받아서 해당 라이브러리를 프로젝트에 추가해주고 작업하였다.
1. db 조회후 list 객체에 담는다.
* 주의할점
list객체에서 받는 타입의 vo객체는 db에서 result한 컬럼의 순서및 뽑는 컬럼수에
맞춰서 작업해주어야 한다.
ex ) ibatis/mybatis에서 조회 쿼리
SELECT a,b,c FROM table_name
이라고 주었을 경우
resultClss의 vo 객체 내에 들어있는 getter/setter
SampleVO.java
public class SampleVO { private String a; private String b; private String c; public String getA() { return a; } public void setA(String a) { this.a = a; } public String getB() { return b; } public void setB(String b) { this.b = b; } public String getC() { return c; } public void setC(String c) { this.c = c; } }
해당형식으로 지정해주고, 컨트롤러영역의 엑셀다운로드 샘플이다.
////////// 엑셀 쓰는 핵심 부분 //////////////
//DB에서 조회한 데이터 LIST객체에 List객체의 제너릭은 Object타입 담는다. List<Object> excelList = service.getExcelList(entity); //getExcelList의 return type은 List타입의 제너릭은 SampleVO로 정함. //문자열 형식의 제목을 excelTtitle변수에 담는다(후에 split을 통해서 배열로 만들것임) String excelTitle = "배열제목1,배열제목2,배열제목3"; //다운받을 파일명 String downFileNm = "시트제목"; HSSFWorkbook wb = new HSSFWorkbook(); //시트 생성 HSSFSheet sheet = wb.createSheet(downFileNm); String titleArr[] = excelTitle.split(","); // 첫번째 행에 각각의 컬럼 제목작성 HSSFCell cell = null; HSSFRow row = sheet.createRow(0); for(int titleNo=0; titleNo < titleArr.length; titleNo ++){ cell= row.createCell(titleNo); cell.setCellValue(titleArr[titleNo]); } int i=1; //DB에서 조회한 목록데이터를 담은 LIST객체를 OBJECT타입으로 돌린다 //VO종류가 무엇이든 상관없음? for(Object obj : list) { row = sheet.createRow((short)i); int j = 0; for (Field field : obj.getClass().getDeclaredFields()) { field.setAccessible(true); Object value = field.get(obj); if(value == null) { cell= row.createCell(j); cell.setCellValue(""); } else { cell= row.createCell(j); cell.setCellValue(String.valueOf(value)); } j++; } i++; } FileOutputStream fileOut = null; try { fileOut = new FileOutputStream("D:\\test.xls"); wb.write(fileOut); fileOut.close(); } catch (IOException e) { throw new RuntimeException("런타임에러가 발생하였습니다."); }
해당 소스를 응용하시면 되실거 같습니다.
json-simple 라이브러리를 이용한 ObjecToString 과 StringToObject 코드구현 (2) | 2014.07.04 |
---|---|
자바 파일다운로드 - 멀티 브라우저지원 샘플코드 (0) | 2014.06.12 |
엑셀다운 POI 라이브러리 - 엑셀파일에서 내용 읽기 (0) | 2014.06.10 |
게시물 번호 구하기 샘플소스 (0) | 2014.06.09 |
자바 썸네일 이미지 생성 (0) | 2014.06.09 |