2014년 7월 29일 화요일

JavaScript에서 세션에 값 세팅하기[제이쿼리/아작스/jQUERY교육/Ajax교육/jquery/ajax/강좌/교육/구로디지털단지제이쿼리/JavaScript/HTML/HTML5/자바스크립트/교육잘하는곳]

========================================== 
JavaScript에서 세션에 값 세팅 하기 
========================================== 

임시 JSP 파일을 만들어 그 JSP에 자바스크립트에서 값을 넘겨 처리하는 방법도 있겠지만 AJAX를 통해 기능을 구현해 보도록 하겠습니다. 

1. 먼저 ajax.js 파일을 만듭니다. 

/** minder97@naver.com ** 
 * 
 * 사용방법 
 * 1. 사용하고자 하는 HTML에 이 파일을 include한다 
 * 
 *                <script language="javascript" src="경로/ajax.js"></script> 
 * 
 * 
 * 2. HTML에 div 선언 
 * 
 *                <div id='test'></id> 
 * 
 * 
 * 3. script내에서 forwardPage() function 호출하기 (매개변수는 필요에 따라 입력한다. 매겨변수 id만 필수) 
 * 
 *                forwardPage( [div의 id], [서블릿 또는 jsp의 경로], [파라메터값], [액션방법(POST or GET)] ) 
 * 
 * 
 *        예) 
 *                forwardPage('test');        
 *                        => 'test'라는 div에 현재 경로의 "test.jsp"파일을 "GET" 방법으로 파라메터없이 포워딩 
 *                forwardPage('test','/action.do?cmd=test');        
 *                        => 'test'라는 div에 "/action.do?cmd=test"을 "GET" 방법으로 파라메터없이 포워딩 
 *                forwardPage('test','/action.do?cmd=test','param1=val1¶m2=val2'); 
 *                        => 'test'라는 div에 "/action.do?cmd=test"을 "GET" 방법으로 'param1=val1¶m2=val2' 파라메터와 같이 포워딩 
 *                forwardPage('test','/action.do?cmd=test','param1=val1¶m2=val2','POST'); 
 *                        => 'test'라는 div에 "/action.do?cmd=test"을 "POST" 방법으로 'param1=val1¶m2=val2' 파라메터와 같이 포워딩 
 * 
 * 
 */ 

function forwardPage(id, action, param, method) { 
        //default setting.. 
        if(action==undefined) action = id+".jsp"; 
        if(param==undefined) param=null; 
        if(method==undefined) method="GET"; 

        //start forwarding.. 
        //1) 
        var xmlhttp = getXmlHttpRequest(); 
        //2) 
        xmlhttp.open(method, action, true); 
        //3) 
        xmlhttp.onreadystatechange = function(){ 
                if(xmlhttp.readyState == 4){ 
                        if(xmlhttp.status == 200){ 
                                document.getElementById(id).innerHTML = xmlhttp.responseText; 
                        }else{ 
                                document.getElementById(id).innerHTML = "loading..failed..."; 
                        } 
                } 
        } 
        //4) 
        xmlhttp.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded'); 
        //5) 
        xmlhttp.send(param); 



function getXmlHttpRequest(){ 
        var xmlhttp = false; 

        if(window.XMLHttpRequest) 
                xmlhttp = new XMLHttpRequest(); 
        else 
                xmlhttp = new ActiveXObject("Microsoft.XMLHTTP"); 

        return xmlhttp; 



2. JSP 파일 

자바스크립트 부분에 다음 한줄을 넣습니다. 

uid라는 자바스크립트 변수에  있는 값을 세션에 setting 할려고 합니다. 

forwardPage('tmp','/jsp/tmp.jsp','userid='+uid); 


3. tmp.jsp 

<%    
    session.setAttribute("userid", userid 
%> 

참고로 ajax.js 파일은 최경진씨에게 조언을 구한겁니다. 



평일주간[100%환급과정]
(8/04)C#4.0,WinForm,ADO.NET
(8/04)자바기초JDBC,Servlet/JSP까지
(8/04)Spring,MyBatis,Hibernate실무과정
(8/11)PL/SQL,ORACLE HINT,TUNING
(8/11)SQL기초에서 Schema Object까지
(8/11)안드로이드개발자과정
(8/11)채용예정교육
평일야간[개인80%환급]
(8/04)웹퍼블리싱 마스터
(8/05)JSP,jQUERY,Spring,MyBatis
(8/06)Spring3.X, MyBatis, Hibernate
(8/08)C#,Network,ADO.NET,ASP.NET
(8/11)SQL기초에서실무까지
(8/11)안드로이드개발자과정
(8/28)자바JSP,jQuery,Spring,MyBatis
주말주간[개인80%환급]
(8/02)Spring3.X, MyBatis, Hibernate
(8/02)C#,ASP.NET마스터
(8/02)웹퍼블리싱 마스터
(8/02)SQL초보에서 Schema Object까지
(8/09)SQL기초에서실무까지
(8/09)안드로이드개발자과정
(8/09)자바JSP,Ajax,jQuery,Spring,MyBatis
(8/23)JAVA,Network&WEB&Framework
주말야간[개인80%환급](18:30~22:20)
(8/02)JAVA,Network&WEB&Framework

댓글 없음:

댓글 쓰기