반응형

/**
     * 참조형객체를 다루는 List 중복제거
     * @param list
     * @return
     */
    public static List<HashMap<String, String>>

                          removeDuplication(List<HashMap<String, String>> list){
        List<HashMap<String, String>> reList = list;
       
        String pk = "";                  // 참조형 객체의 키값
        int limit  = 1;                     // 배열의 limit 값(중복이 없으면 증가처리)
        boolean isRemove = false; // 중복 여부
        for(int i = reList.size() - 1 ; i >= 0; i-- ){     // 배열의 마지막 값부터 비교시작
            isRemove = false;
            pk = reList.get(i).get("id");                    // 비교대상 객체의 키값저장
            for(int j = 0; j < reList.size() - limit; j++){ // 배열의 처음부터 비교시작
                if(reList.get(j).get("id").equals(pk)){ 

                            // 비교대상 키값과 배열에 존재하는 키값이 일치할 경우
                    reList.remove(i);                          // 중복이므로 대상객체 제거
                    isRemove = true;
                    break;
                }
            }
            if(!isRemove) limit ++;                           // 비교객체가 중복이 아니면 증가
        }
        return reList;
    }

[출처] Hanjoong님

http://blog.naver.com/korn123/30144869615

반응형
반응형

jqxWindow 내부에 jqxGrid를 배치하여

 

custom 팝업창 구현 시

 

처음 팝업이 열린 상태에서 필터기능이 먹지 않는 경우 조치 방법

 

=> 그리드 데이터 조회 transaction 부분에서 async:false 로 해준다.

 

반응형
반응형

 

[HTML 소스]

<a id="test" download="My-FileName" href="data:application/octet-stream,HELLO"></a>

 

[JavaScript 소스]

var fileName = "질병관리본부";

var urlEncodedData = "data:application/octet-stream;charset=utf-8";

var txt = "\uFEFF";

txt += "코로나19";

urlEncodedData += encodeURIComponent(txt);

$("#test").attr("download", fileName);

$("#test").attr("href", urlEncodedData);

$("#test").get(0).click();

 

자바스크립트로 파일생성 시 UTF-8이 아닌 ANSI로 만들어야 하는 경우가 있다.

역슬레시uFEFF 를 원하는 문자열 앞에 붙이면 신기하게 ANSI로 저장이 된다.

 

[도움을 받은 곳] 홍세미로 블로그

http://blog.naver.com/PostView.nhn?blogId=remocon33&logNo=221583792066&categoryNo=0&parentCategoryNo=75&viewDate=¤tPage=1&postListTopCurrentPage=1&from=search

반응형
반응형

환경 : 스프링, 마이바티스, 오라클

 

1. 서비스

List<Vo> list = new ArrayList<Vo>();

Map<String, Object> map = new HashMap<String, Object>();

map.put("list", list);

dao.insertBatch(map);

 

2. Dao

public int insertBatch(Map<String, Object> map);

 

3. XML

<insert id="insertBatch" parameterType="java.util.Map">

   INSERT ALL

   <foreach collection="list" item="item">

      INTO 테이블

      (

          컬럼1

         , 컬럼2

      )

      VALUES

      (

           #{item.컬럼값1}

         , #{item.컬럼값2}

      )

   </foreach>

   SELECT * FROM DUAL

</insert>

 

 

반응형
반응형
반응형
반응형

큰 금액 double 형식을 문자열로 나타낼 때

지수 형식을 숫자로 나타내는 방법

 

DecimalFormat df = new DecimalFormat("#");

result = df.format(double 값);

result 를 출력해보세요~

반응형
반응형

 

log4j 설정을 제대로 하여도 resultset 등의 정보가 계속 출력이 되는 경우

조치 방법

프로젝트 우측 클릭 -> [Maven] -> [Update Project] -> Project 체크 -> OK

이제 다시 시도해보면 log4j 설정이 정상적으로 되는 것을 확인 할 수 있다.

 

반응형
반응형

jqxWindow

{

   initContent: function () {

       jqxGrid 선언부 {

         source: transaction ~ <-- 1. 처음 윈도우가 뜰 때에 transaction

      }

   }

 

   $("#win").jqxWindow('open');

   var isCompleted = $("#maa_detailPop_grid").jqxGrid('isBindingCompleted');
   if (isCompleted) {

      $("#grid").jqxGrid({source: transaction}));   <-- 2. 두번째 부터 갱신 된 transaction

   }

}

 

반응형
반응형

JS 파일 다운로드 구현 시 확장자가 없는 파일을 생성해야 할 때

공백이 먹지 않는 경우 encodeURIComponent 함수를 사용

 

var uriEncodedData = 'data:application/octet-stream;charset=utf-8,' + encodeURIComponent("파일 내용");

$("#아이디").attr("download", "파일명");

$("#아이디").attr("href", uriEncodedData);

$("#아이디").get(0).click();

 

도움을 받은 곳 : https://micropilot.tistory.com/2253

반응형
반응형

뭐 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

반응형

+ Recent posts