return void 로 submit 하게 되면 리턴 값이 없어서 엑셀 다운로드 완료여부를 알수가 없다

 

그래서 세션에 담아 체크 하도록 구현

 

 

*********  jsp

 

 

====엑셀 다운로드 시작 ====

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
function excelDown(){
    
    var message = bnsYear + "년도 내역을 엑셀형태로 다운받으시겠습니까?";
    if(confirm(message)){
        maskShow();
        var frm = document.excel_form;
        frm.submit();
        
//엑셀 다운로드(submit) 실행후 일정시간동안 완료 세션 
        FILEDOWNLOAD_INTERVAL = setInterval(function() {
            $.ajax({
                type:'POST',
                url:"<c:url value='/getFlag.do' />",                    
                data:{},
                dataType:'json',
                success:function(data){
                    if(data.result == 'true'){
                        initFlag();
                        maskHide();
                        clearInterval(FILEDOWNLOAD_INTERVAL);
                    }
                } 
            });
        }, 500);
    }
}
 
//세션 초기화
function initFlag(){
    $.ajax({
        type:'POST',
        url:"<c:url value='/initFlag.do' />",                    
        data:{},
        dataType:'json',
        success:function(data){
            
        } 
        
    });
}
http://colorscripter.com/info#e" target="_blank" style="color:#e5e5e5text-decoration:none">Colored by Color Scripter
 

 

 

*********  java

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
@RequestMapping(value="/getFlag.do")
    public ModelAndView getFlag(HttpServletRequest request,
            ModelMap model) throws  Exception{
        
        ModelAndView mv = new ModelAndView(new AjaxView());
        JSONObject json = new JSONObject();
        
        String result = EgovStringUtil.nullConvert(WcSessionUtil.getAttribute("downFlag")); 
        
        json.put("result", result);
        mv.addObject("view", json.toString());
        return mv;
        
    }
    
    @RequestMapping(value="/initFlag.do")
    public ModelAndView setFlag(HttpServletRequest request,
            ModelMap model) throws  Exception{
        
        ModelAndView mv = new ModelAndView(new AjaxView());
        JSONObject json = new JSONObject();
        
        WcSessionUtil.setAttribute("downFlag"null);
        
        String result = "Y";
        json.put("result", result);
        mv.addObject("view", json.toString());
        return mv;
        
    }
http://colorscripter.com/info#e" target="_blank" style="color:#e5e5e5text-decoration:none">Colored by Color Scripter
 

 

 

다운로드 액션에서

WcSessionUtil.setAttribute("downFlag", "true"); //다운로드 완료 세션 추가

마지막에 추가

'web > java' 카테고리의 다른 글

[java] 정규식을 이용한 개인정보 마스킹  (0) 2020.04.09
java timestamp  (0) 2020.04.01
java jsonObject 처리  (0) 2020.04.01
java 비동기 처리 하기  (0) 2020.04.01

+ Recent posts