반응형

뭐 pdf.js 같은 view를 쓰는 방법도 있지만

이 방법이 생각보다 깔끔하다..

 

스크립트 단에서 window.open 으로 호출하고

서버단에서 아래 코드를 작성하면 된다.

 

 

 

FileInputStream fis = null;
BufferedOutputStream bos = null;

try {

	String pdfFileName = "C:/upload/TEST.pdf";
	File pdfFile = new File(pdfFileName);

	// 클라이언트 브라우져에서 바로 보는 방법(헤더 변경)
	response.setContentType("application/pdf");

	// ★ 이 구문이 있으면 [다운로드], 이 구문이 없다면 바로 target 지정된 곳에 view 해줍니다.
	response.addHeader("Content-Disposition", "attachment; filename="+pdfFile.getName()+".pdf");

	// 파일 읽고 쓰는 건 일반적인 Write방식이랑 동일합니다. 다만 reponse 출력 스트림 객체에 write.
	fis = new FileInputStream(pdfFile);
	int size = fis.available();   // 지정 파일에서 읽을 수 있는 바이트 수를 반환
	byte[] buf = new byte[size];   // 버퍼설정
	int readCount = fis.read(buf);

	response.flushBuffer();
	bos = new BufferedOutputStream(response.getOutputStream());
	bos.write(buf, 0, readCount);
	bos.flush();

} catch(Exception e) {
	e.printStackTrace();
} finally {
	try {
		if (fis != null) fis.close();   // close는 꼭! 반드시!
		if (bos != null) bos.close();
	} catch (IOException e) {
		e.printStackTrace();
	}
}

(2024-08-13 보기 좋도록 코드블록에 추가하였습니다)

 

[출처] [Java] Pdf 파일 다운로드 or 바로보여주기|

http://blog.naver.com/PostView.nhn?blogId=onandme&logNo=220529022550&parentCategoryNo=&categoryNo=&viewDate=&isShowPopularPosts=false&from=postView

작성자 onandme

반응형
반응형

jQWidgets dataAdapter 호출 시 정상적으로 동작 안할 때 확인 할 사항


1. combo box 등에서 매핑을 정상적으로 못하는 경우 : 마이 바티스 구문에서 알리야스를 대소문자로 구성


   ex : SCUSTOMER as "sCustomer"


2. transaction을 호출하여도 url 콜이 요청되지 않는 경우 : autoBind 옵션 추가


   ex : var dataAdapter = new $.jqx.dataAdapter(datasource, {autoBind: true});

반응형
반응형

오라클 DUAL을 사용하여 멀티 row, column table 만들기

쿼리

select
   decode(rownum, 1, 'A', 2, 'B', 3, 'C') as col1,
   decode(rownum, 1, 'D', 2, 'E', 3, 'F') as col2
from
   dual
connect by level <= 3;

 

결과

 

[출처] stackOverFlow https://stackoverflow.com/questions/28202851/oracle-select-from-dual-with-multiple-rows-and-columns?rq=1

반응형
반응형

jQWidgets jqxGrid aggregateddata 값을 String으로 가져오기


JSON.parse(JSON.stringify($("#그리드명").jqxGrid('getcolumnaggregateddata', '데이터필드명', ['sum']))).sum

반응형
반응형

Spring Tool Suite


Version: 3.9.4.RELEASE


user operation is waiting for background work to complete 해결법

원인 : 동일한 폴더의 톰캣 서버를 2개 설정하여 나타나는 문제

해결책 : 톰캣 폴더를 한개 더 만들어서(새롭게 압축을 풀어서) 추가하려는 톰캣 서버를 새로 만는 톰캣으로 지정하면 위 경고창이 나타나는 현상이 사라진다.

반응형
반응형

스프링 프로젝트 구성 시

Class 'org.springframework.web.servlet.view.tiles3.TilesConfigurer' not found 에러 해결

위와 같은 에러 발생 시 조치 방법


pom.xml에서 <java-version>, <org.springframework-version>을 체크해본다. 쌩뚱맞게 여기서 문제가 되어 타일즈 에러가 발생 할 수 있다.

반응형
반응형

Hello jqxwidgets team !



반응형

'For external questions' 카테고리의 다른 글

This post only for jqxwidgets team 2  (0) 2020.10.13
반응형

[Eclipse, STS] SVN E160028 오류 조치방법

 

* 개요 : SVN이 구식이라 꼬여서 나타나는 문제다. 주로 파일을 삭제하고 교체하거나 동일한 파일의 버전을 변경할 때 일어난다.

 

* 해결법 : 

1. 예를 들어서 lib/devsim/sim.jar 파일이 커밋 문제가 일어난다고 가정하면 일단 해당 파일과 상위 디렉토리도 함께 삭제하고 커밋한다.

2. lib/test 디렉토리 생성 후 커밋한다.

3. lib/test/test.jar 파일을 추가 후 커밋한다. (메모장등으로 만들어서 확장자만 변경한다)

4. test.jar와 test 디렉토리를 삭제 후 커밋한다.

5. 이제 다시 원래 문제가 되었던 devsim 디렉토리 복사 후 커밋, sim.jar 파일 복사 후 커밋을 하면 E160028문제가 일어나지 않는다.

 

 

반응형
반응형

 · 개요 : js에서 ajax 호출이 정상적인데도 서버에서 200에러로 발생되는 경우

 · 방법 : 서버에서 반환하는 data의 type과 일치하는지 확인한다.

 

   $.ajax({

      dataType: "text",

      ...

   });

 

  ☞ json, string, text... 서버에서 반환하는 값을 확인 후 일치 시키면 된다.

 

 · 도움을 받은 사이트 : http://hclee2575.tistory.com/311

반응형
반응형

오라클 정렬 조건 주기

 

(case 컬러명 when '00' then 1 else ( case seq when 1 then 2

when 2 then 3

when 3 then 4

when 4 then 5

when 5 then 6

when 6 then 7 end) end);

 

이런식으로 정렬에 조건 주는 것이 가능하다.

테스트도 해보고 머리도 많이 굴려야 된다...

 

도움받은 곳

http://highello.tistory.com/24

http://aboutitdev.tistory.com/25

http://tjrghks0110.tistory.com/entry/Order-By-%EC%9E%84%EC%9D%98%EB%A1%9C-%EC%A7%80%EC%A0%95%ED%95%98%EA%B8%B0

반응형

+ Recent posts