[링크] 자바 제네릭 (java generic)
https://www.baeldung.com/java-generics
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 는 (객체)배열이므로 잘라내거나 병합할 수 있다. 응용해 보자!
http://blog.naver.com/dmssla1211/150178903
분명히 문법을 정확히 입력했음에도 왠지 javascript의 reset() 함수가 동작하지 않았었다. 왜일까…? 구글링을 해 보니 “reset() 함수는 폼엘리먼트의 내용을 비우는 것이 아니라 페이지 로딩시의 초기값으로 돌리는 기능을 한다” 라고 나와있었다. 그냥 싹 비우는 건 줄 알았는데 아니었어. >, < 결국 나름대로 제대로 동작하고 있던 것이었다.
대개 서버 응답이 html 코드의 형태로 날아오기 때문에 발생하는 에러이다. 콜백함수의 인수인 jqXHR을 jqXHR.response 의 형태로 출력해서 내용을 확인해 볼 수 있다. 그럼 json 형태로 날아오게 해야 하나?
http://www.webreference.com/js/column26/call.html