기본 콘텐츠로 건너뛰기

5월, 2014의 게시물 표시

javascript 배열 파라미터는 call by reference

javascript 함수 맹글다가 오랜만에 재밌는거 발견. (이제는 진짜 자바스크립트 책 정독한번 해야겠다.. ㅎ) 요새 코딩하면서 콜바이 밸류냐 레퍼런스냐에 대한 생각을 뜸하고 있었는데, 오늘 발견!! (그나마 이럴때 등록금이 조금 덜어까운듯 ㅋ) c에서는 변수이름을 던지냐, 주소값을 던져서 call by value 인지 reference 인지 구분을 했다. 그런데 javascript 에서는 변수타입에 따라 정해진다. 태어날때부터 정해진거라는 생각이 드니 뭔가 씁쓸하긴 하다.   - number, string, boolean 타입들은 call by value   - array, object, date 타입들은 call by reference var param = 1 ; test (param); function test (param){ var tmp = param; console .log ( "before int tmp : " + tmp); tmp = tmp + 1 ; console .log ( "after int tmp : " + tmp); console .log ( "after int param : " + param); } console .log ( "quit int param : " + param); 보통 이렇게하면 결과값은 1,2,1,1 의 순서가 나온다. 그런데 array 연산의 경우 조금 다르다 var params = [ 1 , 2 , 3 ] testarr(params); function testarr (params){ var tmparr = params; console .log ( "before int tmparr : " + tmparr); tmparr[ 2 ] = 1 ;

jsp에서 xls 다운로드

보통 jsp 페이지를 만들때는 페이지 맨 윗줄에 아래처럼 적어준다. < % @ page language = "java" contentType = "text/html; charset=UTF-8" pageEncoding = "UTF-8" % > 그런데 보통의 jsp가 아닌 excel로 다운 받을 수 있는 jsp 페이지를 작성할때는 contentType을 아래처럼 변경을 해주어야 한다. < % @ page language = "java" contentType = "application/vnd.ms-excel;charset=UTF-8" % > 그리고 나머지는 이렇게. <% String file_name = "download" ; String ExcelName = new String(file_name.getBytes(), "UTF-8" )+ ".xls" ; response.setContentType( "application/vnd.ms-excel" ); response.setHeader( "Content-Disposition" , "attachment; filename=" +ExcelName); response.setHeader( "Content-Description" , "JSP Generated Data" ); response.setHeader( "Pragma" , "no-cache" ); String table = request.getParameter( "table" ); %> <html> <head> </head> <body> <%=t