Category Archives: Lang

프로그래밍 언어

namedItem() 함수에 대하여

By | 5월 3, 2012

자바스크립트HTML컬렉션객체.namedItem(id or name);    – 엘리먼트 컬렉션 내에 해당 id나 name을 갖는 객체가 있으면 그 객체를 반환한다. * 참고 링크    http://www.java2s.com/Code/JavaScriptReference/Javascript-Methods/namedItemSyntaxParametersandNote.htm 

event.shiftKey 에 대하여

By | 5월 3, 2012

var bool = event.shiftKey; event 객체는 true/false의 값을 갖는 shitKey 라는 속성을 가지고 있어서, 이벤트 호출시 쉬프트키가 눌러졌는지 여부를 알 수 있다. * 참고 링크    https://developer.mozilla.org/en/DOM/event.shiftKey      HTML DOM Event Object

event.stopPropagation() 에 대하여

By | 5월 3, 2012

* event.stopPropagation() 이 왜 필요한가?    – 상위 엘리먼트의 동일한 이벤트가 호출되는 것을 막기 위하여    – 만약 TR에 onclick이벤트가 걸려 있고, TABLE에도 걸려있을 경우,     TR을 클릭하면 TR이벤트 => TABLE이벤트 순으로 이벤트핸들러가 호출되는데.     이 경우 TABLE이벤트가 trigger되지 않도록 하는 것이 stopPropagation() 이다. * 참고     – 모질라 사이트에 있는 예제를 참고하면 이해가 쉬울… Read More »

JSTL에서 세션 값을 가져올 때 세션명에 점(dot)이 들어가 있을 경우?

By | 4월 12, 2012

점(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 페이지의 경로(path) 얻어오기

By | 4월 9, 2012

* 일단 JSP를 WebContent(혹은 webapp) 하위에 바로 넣는 경우는 거의 없고    대개 WEB-INF 하위로 숨긴다고 볼 때, 다음의 방법을 조합하여 얻어올 수 있을 것 같다. 1. root ~ WebContent 까지의 경로      어떻게든얻어온 ServletContext.getRealPath(“/”); 2. WEB-INF ~ JSP까지의 경로    어떻게든얻어온 ServletConfig.getServletName();

jsp의 커스텀태그(custom tag) 작성 관련

By | 4월 9, 2012

* 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 »

java.net.URLEncoder.encode()로 인코딩한 문자열을 javascript에서 변환할 때 space(공백)가 +로 바뀌는 것에 대한 해결

By | 4월 6, 2012

예전에는 공백문자의 인코딩(URI encoding)결과가 “%20″(맞나?) 이었다고 하는데현재는 공백문자의 인코딩결과가 “+” 로 표준이 변경된 것 같다. java 내부적으로는 디코딩이 잘 될지 몰라도 자바스크립트에는 아직 “+” 로 바뀐 표준을 지원하지 않는 것처럼 보여서, 그냥 +를 공백문자로 relace(치환)하는 코드를 추가했다. value = decodeURIComponent(value || ”).replace(/\+/g, ‘ ‘);

[펌글] 자바스크립트 call()과 apply()의 차이점

By | 4월 5, 2012

세부적인 차이점은 잘 모르겠고 -_-; 가장 큰 차이점은 call()은 호출시 인수를 명시적으로 나열해 주어야 하고, apply()는 호출시 arguments와 같은 인수배열 하나를 받는다는 점이다. 그래서 공통작업 할 때 apply()가 좋아 >,. < !! * 참고링크 call()과 apply()에서 변경되는 this의 의미 call() apply()    

getRequestDispatcher().forward() 이후 IllegalStateException 에 대하여

By | 4월 4, 2012

실험적으로 얻은 지식에 의하면, 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

[펌글] ServletRequest의 getRequestDispatcher()와 ServletContext의 getRequestDispatcher()의 다른 점.

By | 4월 4, 2012

– 출처 : 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 »

jQuery ajax 호출시 http헤더(header)에 사용자정의 값을 셋팅하는 방법

By | 4월 3, 2012

1. 정적 셋팅     jQuery ajax option의 headers 속성에 {key:value} javascript object를 정의한다. 2. 동적 셋팅     jQuery ajax option으로 beforeSend() 이벤트 핸들러를 정의하고 그 내용에     setRequestHeader(key, value) 함수를 사용하여 원하는 header 값을 설정한다.    이 설정은 정적 셋팅을 오버라이딩한다.

서블릿에서 클라이언트 IP 얻어오기

By | 4월 3, 2012

* 네트워크장비 구성에 따라서 취해야 하는 헤더명이 다르므로 완벽한 코드는 아니다.     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

[펌글] 자바스크립트(javascript)에서 arguments (인수의 배열)를 다른 함수로 그대로 넘겨서 실행하기

By | 3월 30, 2012

– 출처 : 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 는 (객체)배열이므로 잘라내거나 병합할 수 있다. 응용해 보자!