index.jsp

<img src = "regi.jpg" alt="회원가입" />   /* 이미지가 없다면 alt '회원가입'으로 대신한다.*/ 

$("#_frmForm").attr("target","_self").submit(); 
/*
frmForm 아이디 태그에서 target은 창 속성을 말하고 
self는 현재 열려있는것을 의미하고 제출후에 현재페이지를 표시한다는 의미.
*/

a.target="_self" : (default) 현재창에 표시

area.target="_blank" : 새로운 창에 표시

base.target="_parent" : 부모창에 표시

form.target="_top" : 윈도우 최상위에 표시


  • attr vs prop.
  • 세션, cookie 유지하는 방법. 
	<script type="text/javascript">
    
		$("#_btnRegi").click(function() {
			location.href='regi.jsp'; // 회원가입 페이지로 이동. 
		});
		$("#_userid").keypress(function(event) {
			if (event.which == '13') { // 13이 엔터 키를 의미 , 엔터키를 누르면, 
				event.preventDefault(); // 이벤트를 중단??? 그게 무슨말. 
				$("#_pwd").focus();
			}
		});			
		 
		$("#_pwd").keypress(function(event) {
			if (event.which == '13') {
				event.preventDefault(); //
				$("#_btnLogin").click();
			}
            // 키프레스가 키보드 입력이 들어오고
            // 엔터가 들어오면, 
            // 로그인 버튼이 클릭된다.! 
		});
		
		//id저장
        var user_id = $.cookie("user_id");
		//alert(user_id);
        if (user_id != null) {
        	$("#_userid").val(user_id);
            $("#_chk_save_id").prop("checked",true);
        }			
		//prop는 attr과 거의 유사하게 속성을 다루는데 사용하지만. 
        // attr은 속성을 변경할 때 주로 쓰고 
        // prop는 확인할 때 주로 쓴다. true , false 
        //$.cookie를 쓰면 세션에 아이디, 비번을 등록 유지 시키고, 
        // expires: 1은 브라우저가 꺼지지 않으면 1일간 유지한다
		$("#_chk_save_id").click(function () {
		    if ($(this).prop("checked")) {
		    	//alert('cookie');
		        if ($("#_userid").val() == "") {
		            $(this).prop("checked", false);
		            alert("아이디를 입력해 주십시요.");
		        } else {
		            $.cookie("user_id", $("#_userid").val(), { path:"/", expires:365 });
		        }
		    } else {
		    	$.cookie("user_id", null, { path:"/", expires:-1 });
		    }
		});			
	</script>

main.jsp

 

- 정적인 방식: <%@ include file="관련 URL" %>

- 동적인 방식: <jsp:include page="relativeURL" />

정적인 방식( 부모페이지 안에 자식꺼를 삽입해서 사용)이 동적( 부모페이지에서 자식페이지를 이동한뒤 작업후 다시 부모페이지로 돌아옴)인 방식보다 빠르다. 

<!DOCTYPE html>
<html lang='ko'>
<head>
<meta charset="utf-8">
<title>main</title>
</head>
<body>
<jsp:include page="hello.jsp"></jsp:include>
<h3>메인</h3>
</body>

1. 정적 include

 

jsp가 컴파일되기 전에 include한 파일(common.jsp)이 부모 페이지에 삽입되어 컴파일된다.


사용법 : <%@include file="/inc/common.jsp" %>
장점 : include 페이지에서 선언한 변수를 부모페이지에서 별도의 변수 선언없이 사용이 가능하다.
단점 : 부모 페이지에 include한 파일이 많을경우 inlucde 페이지에서 선언된 변수를 추적해야해 유지보수할때 귀찮다.

2. 동적 include

사용자가 부모페이지 호출시 실행되어질 시점에 include한 파일이 삽입된다.
사용법 : <jsp:include page="/inc/common.jsp" flush="true" />
장점 : 부모페이지와 include 페이지는 변수를 공유하지 않으므로 유지 보수시에 편하다.
단점 : 부모페이지에서 include한 파일에서 선언한 변수를 사용시 <jsp:param name="userName" value="<%=userName%>"/> 과 같이 부모페이지에서 지정해 주어야 한다.


<jsp:include page="/inc/common.jsp" flush="true">
    <jsp:param name="userName" value="<%=userName%>"/>
    <jsp:param name="userAge" value="<%=userAge%>"/>
</jsp:include>

 

* 장점은 모듈적으로 관리가 가능해진다. 

 

 

'개발 및 언어 > 자바스크립트' 카테고리의 다른 글

[JavaScript]querySelector  (0) 2020.01.21
JAVA SCRIPT_CS.  (1) 2020.01.11
CSS 기초 지식 함양.  (0) 2020.01.11

+ Recent posts