• 분류 전체보기 (160)
    • 개인프로젝트 (5)
      • 시연영상모음 (4)
      • 주저리주저리.. (1)
    • 자바스크립트이야기 (69)
      • ExtJS (30)
      • ExtJS 유의사항 (3)
      • HTML5 (1)
      • jQuery (17)
      • jQuery플러그인소개 (9)
      • jQuery UI 소개 (9)
    • 스프링연동하기 (23)
      • spring3 mvc 설정 (4)
      • spring3 mybatis 설정 (4)
      • spring3 기타설정 (11)
      • ibatis and mybatis (4)
    • DB (26)
      • MySQL vs MS-SQL vs O.. (5)
      • MySQL (10)
      • MSSQL (5)
      • Oracle (6)
    • 서버에웹환경구축하기 (13)
      • 1.VirtualBox+CentOS .. (5)
      • 2.JAVA(JDK) 설치 (1)
      • 3.Apache+Tomcat 설치 (3)
      • 4,SVN Server 설치 (1)
      • 5.마리아DB(MariaDB) 설치 (2)
      • 6.몽고DB(MongoDB)설치 (1)
    • 샘플소스 (14)
      • 샘플소스(JAVA) (7)
      • 샘플소스(JSTL) (4)
      • 샘플소스(jQuery/스크립트) (3)
    • 에디터연동 (5)
      • NAVER-스마트에디터 (4)
      • DAUM-다음에디터 (1)
    • 블로그팁 (3)
    • 디지털이야기 (2)
댓글
샘플소스
14
/119
2014. 7. 29. 12:04
swfobject.js 를 이용하여 화면에 플래시파일 호출하기

이번 포스팅은 웹화면에 플래시파일(.swf)을 띄우기 위한 샘플링을 구현하고자 한다.


우선 사용할 파일은 swfobject.js 라는 것이다.


사이트URL : https://code.google.com/p/swfobject/





위화면으로 가서 swfobject 관련 zip파일을 다운로드 받도록 하자


받았다면 압축해제후, swfobject.js파일과 expressInstall.swf 파일을 본인의 프로젝트내에 복사 붙여넣기를 해보도록 하자


그리고 샘플링으로 필요한 swf파일이 있어야하니 우선 다운로드 받은 파일내에 존재하는 swf파일[test.swf]을 프로젝트내에 넣도록 하자


그리고 경로에 맞추어서 일부를 수정하였음.

물론, 다운로드 파일내에 존재하는 샘플을 코드만 그대로 가져다 놓은후, 경로를 본인의 환경에 맞추고 호출을 해본것임.

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
		<!-- 스크립트 include -->
		<script type="text/javascript" src="/resources/swfobject.js"></script>
		<script type="text/javascript">
		//<object> 태그 id를 첫번째 param으로 설정
		swfobject.registerObject("swfId", "9.0.0", "/resources/expressInstall.swf");
		</script>
	</head>
	<body>
		<div>	
			<object id="swfId" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" width="300" height="120">
				<!-- SWF 파일 경로를 value속성에 일치 -->
				<param name="movie" value="/resources/test.swf" />
        		<!--[if !IE]>-->
        		<!-- SWF 파일 경로를 data속성에 일치 -->
				<object type="application/x-shockwave-flash" data="/resources/test.swf" width="300" height="120">
				<!--<![endif]-->
				<div>
					<h1>Alternative content</h1>
					<p><a href="http://www.adobe.com/go/getflashplayer"><img src="http://www.adobe.com/images/shared/download_buttons/get_flash_player.gif" alt="Get Adobe Flash player" /></a></p>
				</div>
				<!--[if !IE]>-->
				</object>
				<!--<![endif]-->
			</object>
		</div>
	</body>
</html>


본인이 변경한 부분은 /resources가 존재하는 값들만 변경을 해준것이다.

그럼 이제 실행을 해보도록 하자.




윈도우 버전을 호출하는 플래시파일인가 보다.


이걸로 swf파일 호출하는 샘플은 끝~


※ swfobject.registerObject("swfId", "9.0.0", "/resources/expressInstall.swf"); 

왜필요한지 모르겠다 없어도 플래시는 잘 호출 되는거 같은대... 뭐하는 함수인지..

API 찾아보고 추가 포스팅을 해야겠다..



슈퍼맨슈퍼맨슈퍼맨



도움이 되셨다면 공감클릭! 궁금하신점은 댓글!!

저작자표시 (새창열림)

'샘플소스 > 샘플소스(jQuery/스크립트)' 카테고리의 다른 글

jquery 체크박스 전체 선택/해제 샘플소스  (1) 2014.06.10
자바스크립트 replaceall 함수만들기  (0) 2014.06.08
/98
2014. 7. 14. 19:01
POI 라이브러리를 이용하여 엑셀파일(XLSX) 만들기 - 6만건 이상일 경우 추천

전에 xls 파일 생성후 다운로드 샘플을 포스팅하였다.


2014/06/05 - [샘플소스/샘플소스(JAVA)] - poi 라이브러리를 이용하여 엑셀 파일을 만들어보도록 하자 - (xls 확장자)


위 포스팅의 단점은 엑셀 2003 파일이라서 최대 65,536 row라 


10만건 데이터 같은 경우는 Exception이 발생한다.

이런 문제를 해결하기 위해 xlsx 의 샘플링을 추가로 구현하였다.


xlsx의 최대쓰기가능 row는 1,048,576 row다.


하지만 과연 100만건의 데이터를 엑셀로 쓸 이유가 있을까?

그리고 과연 서버+DB가 버텨줄지~~

아무튼 이러한 이유로 xlsx 샘플도 구현을 하였다.


샘플 기준은 xls 샘플링에서 일부 변경으로 다운로드 구현을 하도록 하겠음.



//DB에서 조회한 데이터 LIST객체에 List객체의 제너릭은 Object타입 담는다.
      List<Object> excelList = service.getExcelList(entity);
      //getExcelList의 return type은 List타입의 제너릭은 SampleVO로 정함.
      //문자열 형식의 제목을 excelTtitle변수에 담는다(후에 split을 통해서 배열로 만들것임)
      String excelTitle = "배열제목1,배열제목2,배열제목3";
      //다운받을 파일명
      String downFileNm = "시트제목";
      XSSFWorkbook wb = new XSSFWorkbook();
      //시트 생성
      XSSFSheet sheet = wb.createSheet(downFileNm);
      String titleArr[] = excelTitle.split(",");
      // 첫번째 행에 각각의 컬럼 제목작성
     Cell cell = null;
     Row 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(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("런타임에러가 발생하였습니다.");
   }


바뀐게 있다면 기존 HSSF -> XSSF 형식으로 앞에 H->X로 변경된점이랑

createRow((short)i) -> short형을 제하고 createRow(i) 로 변경

마지막으로 xls 파일명을 -> xlsx 로 변경이 되었다는 것이다!


10만건을 넣어본결과 파일이 잘 저장된다!



저작자표시 (새창열림)

'샘플소스 > 샘플소스(JAVA)' 카테고리의 다른 글

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
/81
2014. 7. 4. 00:22
json-simple 라이브러리를 이용한 ObjecToString 과 StringToObject 코드구현


json을 사용하는 대부분의 경우는 

서버에서 클라이언트로 json 또는 배열객체를 전달할때 주로 사용함

하지만 반대로 

웹 페이지에서 json 문자열을 만들어서 클라이언트에서 서버로 보낼 경우도 존재한다

이 두가지 예제를 모두 들어보도록 하겠다.

우선 라이브러리를 받도록 하자 

json-simple-1.1.1.jar



db를 조회한 가상의 데이터를 arraylist에 담아주고 해당 리스트로 json object를 만들어보자 


서버에서 json object 파싱하여 웹페이지로 전달


        ArrayList<Map<String,Object>> list = new ArrayList<Map<String,Object>>();
	JSONObject jsonObj = new JSONObject();
	JSONObject jsonSubObj = null;
	JSONArray jsonArr = new JSONArray();
	Map<String, Object> map = null;
	map = new HashMap<String, Object>();
	map.put("data1","데이터1-1");
	map.put("data2","데이터1-2");
	list.add(map);
	
	map = new HashMap<String, Object>();
	map.put("data1","데이터2-1");
	map.put("data2","데이터2-2");
	list.add(map);
	
	map = new HashMap<String, Object>();
	map.put("data1","데이터3	-1");
	map.put("data2","데이터3-2");
	list.add(map);
	
	for(Map<String,Object> m : list) {
		Set<String> key = map.keySet();
		for (Iterator<String> iterator = key.iterator(); iterator.hasNext();) {
            String k = (String) iterator.next();
            String value = (String) map.get(k);
            jsonSubObj = new JSONObject();
            jsonSubObj.put(k, value);
		}
		jsonArr.add(jsonSubObj);
	}
	jsonObj.put("list",jsonArr);
	
	PrintWriter pw = response.getWriter();
	pw.print(jsonObj);
	pw.flush();
	pw.close();

위와 같은 형식으로 데이터를 파싱해서 클라이언트로 json 객체를 던져준다면 다음 화면같이 

값이 나올것이다.





만약 클라이언트쪽에서 ajax 호출하고 return type을 json으로 받았다면 object로 받을 수 있는 

것이다.


문자열을 json object로 변환하는 작업을 해보도록 하겠다..


클라이언트에서 받은 json 문자열을 object로 변환하기



         //서버에서 request.getparameter()로 받은 데이터라 가정
	String jsonStr = "{\"obj1\":\"obj-1\",\"obj2\":\"obj-2\",\"obj3\":\"obj-3\"}";
	if(jsonStr.substring(0,1).equals("{")) {
		 Object obj=JSONValue.parse(jsonStr);
		 JSONObject j=(JSONObject)obj;
		 System.out.println("===========JSON OBJECT STRING -> OBJECT===========");
		 System.out.println(j.get("obj1"));
		 System.out.println(j.get("obj2"));
		 System.out.println(j.get("obj3"));
	}
	
	//서버에서 request.getparameter()로 받은 데이터라 가정
	String jsonArrayStr = "[{\"data2\":\"데이터3-1\"},{\"data2\":\"데이터3-2\"},{\"data2\":\"데이터3-3\"}]";
	if(jsonArrayStr.substring(0,1).equals("[")) {
 		Object obj=JSONValue.parse(jsonArrayStr);
		JSONArray j=(JSONArray)obj;
		System.out.println("===========JSON ARRAY STRING -> FOR OBJECT===========");
		for(int i=0; i<j.size(); i++) {
			JSONObject json = (JSONObject)j.get(i);
			System.out.println(json.get("data2"));
		}
	}

서버로 임의의 string형 json object / json array 값을 넘겼다 가정하였을때 json object/array 

로 변경한 후 콘솔출력을 해보았다.




잘 뽑아진다 ㅎㅎ 


저작자표시 (새창열림)

'샘플소스 > 샘플소스(JAVA)' 카테고리의 다른 글

POI 라이브러리를 이용하여 엑셀파일(XLSX) 만들기 - 6만건 이상일 경우 추천  (0) 2014.07.14
자바 파일다운로드 - 멀티 브라우저지원 샘플코드  (0) 2014.06.12
엑셀다운 POI 라이브러리 - 엑셀파일에서 내용 읽기  (0) 2014.06.10
게시물 번호 구하기 샘플소스  (0) 2014.06.09
자바 썸네일 이미지 생성  (0) 2014.06.09
/58
2014. 6. 20. 14:02
JSTL - 확장자명으로 구분하여 첨부파일 이미지 보이기

첨부파일 확장자에 따라 이미지 파일일수도 있고, 문서파일일수도 있고 한다.


파일확장자로 파일 이미지 종류를 구분해주고자 하는데 

이때 필요한 태그는 <c:forTokens>이다

forTokens이란 

java에서 split을 주고 split을 준 배열을 for문돌리는 형태와 유사하다고 보면 된다.


샘플소스이다.

<c:set var="filename" value="koala.jpg" />
<c:set var="fileNm" value="${fn:toLowerCase(filename)}" />
<c:forTokens var="token" items="${fileNm }" delims="." varStatus="status">
	<c:if test="${status.last }">
		<c:choose>
			<c:when test="${token eq 'hwp' }">
				<img src="한글파일이미지" alt="${filename }" />
			</c:when>
			<c:when test="${token eq 'xls' || token eq 'xlsx' }">
				<img src="엑셀파일이미지" alt="${filename }" />
			</c:when>
			<c:when test="${token eq 'jpg' || token eq 'gif' || token eq 'png' || token eq 'bmp' }">
				<img src="이미지파일이미지" alt="${filename }" />	
			</c:when>
			<c:when test="${token eq 'pdf'}">
				<img src="pdf파일이미지" alt="${filename }" />	
			</c:when>
			<c:when test="${token eq 'ppt' }">
				<img src="파워포인트파일이미지" alt="${filename}" />
			</c:when>
			<c:otherwise>
				<img src="기본파일이미지" alt="${filename }" />
			</c:otherwise>
		</c:choose>
		${filename}
	</c:if>
</c:forTokens>

위를 응용한다면 확장자 구분을하여 첨부파일에 대한 이미지를 뿌려줄 수 

있을것이다!!


슈퍼맨슈퍼맨슈퍼맨


도움이 되셨다면 손가락↓ 클릭! 궁금하신점은 댓글!!

저작자표시 (새창열림)

'샘플소스 > 샘플소스(JSTL)' 카테고리의 다른 글

JSTL을 이용하여 세자리 단위로 콤마 찍기(fmt:formatNumber)  (0) 2014.06.18
JSTL을 이용하여 문자열을 DATE형식으로 파싱하기(fmt:parseDate)  (0) 2014.06.18
JSTL - 지정수만큼 반복한후 줄 변경하기(ex : 포토갤러리)  (2) 2014.06.13
/50
2014. 6. 18. 18:32
JSTL을 이용하여 세자리 단위로 콤마 찍기(fmt:formatNumber)

예를들어서 value값은 int 형으로 가격에 대한 값을 가지고 있는 price 가 

존재한다.

price가 2000이라는 값을 가지고 있지만, 화면에는 2,000 형식으로 표시를 해주고 싶다.


이럴경우 JSTL의 formatNumber라는 놈을 써주면 되겠다!!


JSTL의 포맷기능을 사용하기 위해서는 하단의 taglib를 페이지에 선언해줘야 

한다.

<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>

<% 

//여기에 들어갈 java코드

%> 

int price = 50000;
request.setAttribute("price",price);


JSTL format 을 이용하여 세자리마다 콤마를 찍어줄수 있다.

파싱전 문자열값 : ${price } <br/>
파싱후 문자열값: <fmt:formatNumber value="${price }" pattern="#,###" />


JSTL formatNumber 사용전과 사용후의 차이점이다.




좋고만~

저작자표시 (새창열림)

'샘플소스 > 샘플소스(JSTL)' 카테고리의 다른 글

JSTL - 확장자명으로 구분하여 첨부파일 이미지 보이기  (2) 2014.06.20
JSTL을 이용하여 문자열을 DATE형식으로 파싱하기(fmt:parseDate)  (0) 2014.06.18
JSTL - 지정수만큼 반복한후 줄 변경하기(ex : 포토갤러리)  (2) 2014.06.13
이전 1 2 3 다음

티스토리툴바