지정한 시간 이후에 특정 페이지로 포워딩 시키는 html meta tag
<meta http-equiv=”refresh” content=”30;url=http://www.metatags.info/login”> => 30초 후에 해당 URL로 이동. * 참고링크 – meta tag의 용법을 모아 놓은 사이트
<meta http-equiv=”refresh” content=”30;url=http://www.metatags.info/login”> => 30초 후에 해당 URL로 이동. * 참고링크 – meta tag의 용법을 모아 놓은 사이트
자바스크립트HTML컬렉션객체.namedItem(id or name); – 엘리먼트 컬렉션 내에 해당 id나 name을 갖는 객체가 있으면 그 객체를 반환한다. * 참고 링크 http://www.java2s.com/Code/JavaScriptReference/Javascript-Methods/namedItemSyntaxParametersandNote.htm
var bool = event.shiftKey; event 객체는 true/false의 값을 갖는 shitKey 라는 속성을 가지고 있어서, 이벤트 호출시 쉬프트키가 눌러졌는지 여부를 알 수 있다. * 참고 링크 https://developer.mozilla.org/en/DOM/event.shiftKey HTML DOM Event Object
* event.stopPropagation() 이 왜 필요한가? – 상위 엘리먼트의 동일한 이벤트가 호출되는 것을 막기 위하여 – 만약 TR에 onclick이벤트가 걸려 있고, TABLE에도 걸려있을 경우, TR을 클릭하면 TR이벤트 => TABLE이벤트 순으로 이벤트핸들러가 호출되는데. 이 경우 TABLE이벤트가 trigger되지 않도록 하는 것이 stopPropagation() 이다. * 참고 – 모질라 사이트에 있는 예제를 참고하면 이해가 쉬울… Read More »
https://www.baeldung.com/java-generics
http://www.webstandards.org/learn/tutorials/accessible-forms/intermediate/
* 체크포인트 1. 서버에서 쿠키 생성시 옵션으로 준 path와 쿠키 조회시 사용하는 path가 일치하는지 확인하자! (어떻게 해야 할 지 모른다면 둘 다 루트 (“/”) 로 주자!
<c:forEach items=”${localeMap}” var=”map”> <option value=”${map.locale}” ${map.locale == “얻어온값” ? ‘selected’ : ”}>${map.localeLabel} </option></c:forEach>
점(dot)은 EL에서 getter 역할을 하는 연산자이므로 다음과 같이 사용하자 >, < !! (참고 : 아래 예문에서 .language는 해당 객체가 가진 속성이다.) ${sessionScope[“org.springframework.web.servlet.i18n.SessionLocaleResolver.LOCALE”].language} * 참고 – 위의 값을 JSTL의 변수(var)로 선언하고 싶을 때는? => 따옴표를 escape! <c:set var=”localeLanguage” value=”${sessionScope[\”org.springframework.web.servlet.i18n.SessionLocaleResolver.LOCALE\”].language}”/>
* 일단 JSP를 WebContent(혹은 webapp) 하위에 바로 넣는 경우는 거의 없고 대개 WEB-INF 하위로 숨긴다고 볼 때, 다음의 방법을 조합하여 얻어올 수 있을 것 같다. 1. root ~ WebContent 까지의 경로 어떻게든얻어온 ServletContext.getRealPath(“/”); 2. WEB-INF ~ JSP까지의 경로 어떻게든얻어온 ServletConfig.getServletName();
* tld 파일 예제 <?xml version=”1.0″ encoding=”UTF-8″?> <taglib xmlns=”http://java.sun.com/xml/ns/j2ee” xmlns:xsi=”http://www.w3.org/2001/XMLSchema-instance” xsi:schemaLocation=”http://java.sun.com/xml/ns/j2ee/web-jsptaglibrary_2_0.xsd” version=”2.0″> <tlib-version>1.2</tlib-version> <uri>frameone</uri> <tag> <description>포맷에 맞게 날짜를 표시한다.</description> <name>dateFmt</name> <tag-class>xx.xxx.xxxxx.DateFormatTag</tag-class> <body-content>empty</body-content> <attribute> <name>infmt</name> … Read More »
http://book.javanb.com/servlets-and-javaserver-pages-the-j2ee_technology-web-tier/0321136497_ch07lev1sec7.html
예전에는 공백문자의 인코딩(URI encoding)결과가 “%20″(맞나?) 이었다고 하는데현재는 공백문자의 인코딩결과가 “+” 로 표준이 변경된 것 같다. java 내부적으로는 디코딩이 잘 될지 몰라도 자바스크립트에는 아직 “+” 로 바뀐 표준을 지원하지 않는 것처럼 보여서, 그냥 +를 공백문자로 relace(치환)하는 코드를 추가했다. value = decodeURIComponent(value || ”).replace(/\+/g, ‘ ‘);
세부적인 차이점은 잘 모르겠고 -_-; 가장 큰 차이점은 call()은 호출시 인수를 명시적으로 나열해 주어야 하고, apply()는 호출시 arguments와 같은 인수배열 하나를 받는다는 점이다. 그래서 공통작업 할 때 apply()가 좋아 >,. < !! * 참고링크 call()과 apply()에서 변경되는 this의 의미 call() apply()
실험적으로 얻은 지식에 의하면, getRequestDispatcher().forward() 가 실행되어도, 바로 그 시점에 리턴되는 것이 아니라forward() 작업과는 비동기적으로, 그 이후의 코드도 끝까지 실행되는 것으로 보인다. 그런데 문제는 그 이후의 코드에서 response를 write 하는 등의 코드가 존재하면IllegalStateException 이 발생한다는 것이다. 그러므로 getRequestDispatcher().forward() 이후에 return 을 붙이는 것이, 안전하면서도 내가 원하는 결과를 얻을 수 있는 패턴이라는 생각이 든다. * 참고링크 http://www.xyzws.com/Servletfaq/does-the-requestdispatcherforward-include-method-return/15 http://www.coderanch.com/t/360595/Servlets/java/RequestDispatcher-forward-method-returns-asynchronously
– 출처 : http://www.theserverside.com/news/thread.tss?thread_id=28471 – The servletRequest’s getRequestDispatcher() can take a relative path while ServletContext’s getRequestDispatcher() can not(can only take relative to the current context’s root). For example with ServletContext both -> request.getRequestDispatcher(“./jsp/jsppage.jsp”) – evaluated relative to the path of the request ->… Read More »
1. 정적 셋팅 jQuery ajax option의 headers 속성에 {key:value} javascript object를 정의한다. 2. 동적 셋팅 jQuery ajax option으로 beforeSend() 이벤트 핸들러를 정의하고 그 내용에 setRequestHeader(key, value) 함수를 사용하여 원하는 header 값을 설정한다. 이 설정은 정적 셋팅을 오버라이딩한다.
* 네트워크장비 구성에 따라서 취해야 하는 헤더명이 다르므로 완벽한 코드는 아니다. HttpServletRequest hReq = (HttpServletRequest)request; String cltAddr = hReq.getHeader(“X-Forwarded-For”); if(cltAddr == null || cltAddr.equals(“”)) { cltAddr = hReq.getHeader(“Proxy-Client-IP”); if(cltAddr == null || cltAddr.equals(“”)) { cltAddr = request.getRemoteAddr(); } } * 참고링크 http://whitebear.tistory.com/80
Servlet Filter는 web.xml 에 정의된 순서대로 실행된다. 참고링크
– 출처 : http://stackoverflow.com/questions/3914557/passing-arguments-forward-to-another-javascript-function – * 개요 a()함수의 인수를 그대로 b함수로 넘기며 실행하되, b()함수의 인수의 갯수가 가변적일 경우에도 대응할 수 있도록 arguments 배열을 사용한다. function a(arg1, arg2, arg3){ b.apply(this, arguments); } function b(arg1, arg2, arg3){ alert(“arg1:”+arg1+”, arg2:”+arg2+”, arg3:”+arg3); } a(‘Jin’, ‘Nina’, ‘Paul’); //테스트! * 응용 arguments 는 (객체)배열이므로 잘라내거나 병합할 수 있다. 응용해 보자!