spring boot + sitemesh
1. pom.xml에 sitemesh 추가 org.sitemesh sitemesh 3.0.1 2. WEB-INF 밑에 decorator 파일 생성 (저는 WEB-INF/decorator/decoratorList.jsp로 생성했습니다.) <%@ page language="java" contentType="text/htm..
키자드에 등록된 총 653개의 포스트를 확인하실 수 있습니다.
1. pom.xml에 sitemesh 추가 org.sitemesh sitemesh 3.0.1 2. WEB-INF 밑에 decorator 파일 생성 (저는 WEB-INF/decorator/decoratorList.jsp로 생성했습니다.) <%@ page language="java" contentType="text/htm..
1. viewConfig에 forceFit: true 추가 2. size를 변경했으면 하는 column에 flex: true 추가 3. 한 컬럼만 변경되었으면 할 경우에는 한군데만 쓰고 여러군데가 바뀌게 하고 싶으면 여러군데다가 사용하면..
callee 속성은 현재 실행되고 있는 함수(함수 객체)를 나타낸다. 마치 생성자 안에서 사용되는 this와도 유사한 개념이다. arguments.callee 속성을 이용하면 익명함수(unnamed function)가 자신을 참조할 수도 있..
function test(t) { if (t === undefined) { return 'Undefined value!'; } return t; } var x; console.log(test(x)); // expected output: "Undefined value!" var v = 1; 에서 v는 undefined로 정의 되고 코..
자바에서 문자열의 배열에 문자열을 포함하는 ArrayList를 반환하는 방법 List list =new ArrayList (); list.add("android"); list.add("apple"); String[] stringArray = list.toArray(new String[list.size()]);
(function ($, undefined) { $.fn.getCursorPosition = function() { var el = $(this).get(0); var pos = 0; if('selectionStart' in el) { pos = el.selectionStart; } else if('selection' in document) { el.f..
function changeStat(rowIndex, value) { var models = Ext.getCmp("gridList").getStore().getRange(); if(value === P_BARCD_STAT_NOT_USE) { models[rowIndex].set('BARCD_STAT',P_BARCD_STAT_USE); } else { m..
웹 페이지에서 내용 복사를 막기 위해 text 선택을 css로 방지 할 수 있다. -webkit-touch-callout: none; -webkit-user-select: none; -khtml-user-select: none; -moz-user-select: none; -ms-user-select: none..
자바스크립트에서는 최대 숫자를 벗어나는 숫자를 표현하기 위해 Infinity라고 하는 값이 정의되어 있다. 실제로 Infinity의 타입은 “number”로 나온다. 자바스크립트에서 지원하는 최소값을 벗어나는 문자를..
{ xtype: 'actioncolumn', handler: function(view, rowIndex, colIndex, item, e, record, row) { onclickWebPosManagementDetailPopup(rowIndex); }, width: 85, align: 'center', text: '바로가기', dataIndex:..
{ xtype:'gridcolumn', itemId: 'id', width: 90, align: 'center', dataIndex: 'id', text : '바로가기', renderer: function(value, meta, record, rowIndex, colIndex, store, view){ return Math.round(value/..
1. Read BufferedReader instrm = new BufferedReader( new InputStreamReader( new FileInputStream( new File(getFilename())), "ms949")); while((tmpstr = instrm.readLine()) != null ) { } 2. Write OutputS..
1. php.ini 수정 session.gc_probability = 100 session.gc_divisor = 100 session.gc_maxlifetime = 5 5초간 서버에 입력이 없는 session을 100%확률로 kill 확률은 gc_probability / gc_divisor 2. unload 방식..
// javascript에 기본적으로 array sort 함수를 지원한다. var arr = [40, 1, 10, 5, 25]; // 이와 같이 쓸 경우 1, 10, 25, 40 과 같이 문자로 취급하여 정렬한다. arr.sort(); // 1, 5, 10, 25, 40 과 같이 정렬..
두개의 array를 비교하여 같은 array인지 알고 싶을 경우 $(arr1).not(arr2).length == 0 를 사용한다. 두개의 array가 같다면 $(arr1).not(arr2).length는 0이다.
function sortObj(arr){ var sortedKeys = new Array(); var sortedObj = {}; for (var i in arr){ sortedKeys.push(i); } sortedKeys.sort(); for (var i in sortedKeys){ sortedObj[sortedKeys[i]] = arr[sorted..
도메인이 다른 곳으로 ajax를 보내면 크롬에서는 console창에서 오류 메시지가 뜨고 IE에서는 아예 차단을 시켜 버린다. jsonp로 처리하면 문제가 없다. $.ajax({ url: 'http://127.0.0.1:8090/STAY_OUT?server='..
Map map = new HashMap (); map.put("PARTNER_NO" , "0002485000" ); map.put("RSRVCH_DIV" , "91" ); map.put("RSRV_NO" , BARCODE ); map.put("RSRV_STAT" , "2" ); // 1 JSONSerializer.toJSON(map); // net.sf..
import net.sf.json.JSONObject; // string을 json으로 변경해서 써야할 때. JSONObject temp = JSONObject.fromObject("{'a':'b'}");
var elements = {}; var key = 'bond'; var v = 'network gear'; // error elements.key = b; // 에러 발생 // error 아님 elements[key] = v; // 성공
1. HashMap vs HashTable 비동기화 vs 동기화 비동기화가 성능이 좋고, 동기화는 성능이 안좋다. 비동기는 Multi Thread환경에서 사용하면 안된다. 여러개의 thread가 동시에 HashMap을 건드려서 key, v..
java는 junit이라는 훌륭한 테스트 모듈이 있는데 javascript도 정말 좋은 테스트 모듈이 있습니다. 1. 공식 홈페이지 http://qunitjs.com/ QUnit QUnit: A JavaScript Unit Testing framework. What is QUnit? QU..
$enable = '1'; $count = 10000; for($display_cnt = 0; $display_cnt < $count; $display_cnt ++) { $result2['list'][$display_cnt] = array( 'enable' => $enable, 'id' => $enable, 'users' => $enable, 'srcs..
Hello Goodbye After Hi Hello Goodbye
var json_object = {} var json_array = [] json_array의 경우는 비어있는지 체크할 때 json_array.length 가 0인지 체크하면 되지만 json_object의 경우는 length를 사용하면 제대로 된 결과를 얻을 수 없다. 이..
var from = new Date().getTime(); var to = new Date().getTime(); // unit : ms alert(to - from);
String 클래스에는 문자열을 저장하기 위해서 문자형 배열 변수(char []) value를 인스턴스 변수로 정의해놓고 있다. 인스턴스 생성 시 생성자의 매개변수로 입력받은 문자열은 이 인스턴스 변수에 문자형 배열로..
1. HTML 등록 2. FileUploadBean public class FileUploadBean { private MultipartFile file; public MultipartFile getFile() { return file; } public void setFile(MultipartFile file) { this.file = file; }..
자바의 sendmail을 사용하여 첨부파일을 보내면 수신자의 메일에서 파일명이 개지는 현상 해결방법 setAttachFileName(파일명) 또는 setFileName(파일명)에서 "파일명" 을 아래와 같이 변경 MimeUtility.encodeTex..
1. String 이용 public static void main(String[] args) throws Exception { Path newP = Paths.get("d:/result.exe"); String content = binaryFileToHexString("d:/attach.exe"); System.out.println(content.i..
{"data":[]} 를 script로 보내면 array이기 때문에 key : value 의 형태로 값을 넣을 수 없다. 또한 {"data":{}}로 되어 있더라도 json_decode를 하면 []로 변경된다. json_encode(변수, JSON_FORCE_OBJECT) 를 하..
1. 필요한 jar - jackson-core-asl.x.x.x.jar - jackson-databind-x.x.x.jar - jackson-mapper-asl.x.x.x.jar 2. spring context xml 파일에 아래와 같이 코드 추가
JBAS018014 에러가 발생할 경우 WEB-INF/lib/spring-modules-validation-0.7.jar 파일 내부의 META-INF/valang.tld파일 내용 중 13 line의 None 을 empty 으로 변경
var arr = []; arr[0] = "a"; arr[1] = "b"; arr[2] = "c"; arr[3] = "d"; // splice의 2번째 인자는 삭제할 아이템의 갯수인데 // 0이므로 특정 위치에 값 추가의 효과를 볼 수 있다. arr.splice(2,0, "ee"); * s..
1. this - 인스턴스 자신을 가리키는 참조변수, 인스턴스의 주소가 저장되어 있다. - 모든 인스턴스메서드에 지역변수로 숨겨진 채로 존재한다. 2. this(), this(매개변수) - 생성자, 같은 클래스의 다른 생..
1. javascript $("#list").jqGrid({ url: g_url, // data: "table=users", postData: {table: 'users'}, /** 중요 **/ // cache: false, // global: false, /** trigger global Ajax event handlers for this requ..
.ellipsis{ white-space:nowrap; text-overflow:ellipsis; /* IE, Safari */ -o-text-overflow:ellipsis; overflow:hidden; -moz-binding: url('ellipsis.xml#ellipsis'); }
배경 색과 관계없이 html을 그릴 때 먼저 흰색배경이 칠해지고 나서 css가 적용되어 다른 색이 칠해지기 때문에 흰색 깜빡임 현상이 발생한다. 따라서 부모와 iframe/frame 배경을 원하는 배경색으로 칠해놓고 ifr..
eclipse에서 웹 프로젝트를 생성할 때 target runtime이라는 것이 있다. 보통 설치되어있는 WAS가 dafault로 선택되어 들어가는데, 여기서 선택된 것에 따라서 servlet 객체(등)의 사용 주체가 바뀌게 되기 때문..
참조 : http://php.net/manual/en/function.setcookie.php 쿠키를 사용 할 때 expire 인자를 사용하지 않으면 기본값이 세션이 유지되는 동안 쿠키유지이다. 따라서, 오랫동안 쿠키를 유지하고 싶을 경우에는 exp..
var people = [ {name: 'a75', item1: false, item2: false}, {name: 'z32', item1: true, item2: false}, {name: 'e77', item1: false, item2: false}]; function sortByKey(array, key) { return array.sort(fun..
1. jar 파일 추가 - jackson-core-asl.x.x.x.jar - jackson-databind-x.x.x.jar - jackson-mapper-asl.x.x.x.jar 2. spring context에 설정 추가 3. controller @RequestMapping(value="/user/ajax/loginVal..
출처 : http://stackoverflow.com/questions/905222/enter-key-press-event-in-javascript IE에서 enter를 누르면 form submit이 동작하는데, submit이 불가능한 상황이 되면 현재 페이지의 첫번째에 있는 button..
// 아래와 같이하면 레퍼런스 참조로 복사된다. var aaa = [0, 1, 2, 3, 4, 5]; var bbb = aaa; // 참조 없는 배열 복사가 필요하면 아래와 같이 하면 된다. var aaa = [0, 1, 2, 3, 4, 5]; var bbb = JSON.parse(..
Object.size = function(obj) { var size = 0, key; for (key in obj) { if (obj.hasOwnProperty(key)) size++; } return size; }; // Get the size of an object var size = Object.size(myArray); 출처 : http:..
/* explode 대신 아래와 같이 사용 */ $line = "aaa bbb ddd"; $cols = preg_split('/\s+/', $line);
function Rectangle(w, h) { var width = w; var height = h; this.getWidth = function() { return width; }; this.getHeight = function() { return height; }; this.setWidth = function(value) { if(value < 0..
script나 jsp/php 등에서 복잡하게 프로그램을 만들 필요 없이 IE에 경우 간단하게 차단 가능하다. 1. HTML에서 아래 코드 추가 (lteIE8.js 는 임의로 변경하면 됨) 2. lteIE8.js에 원하는 script 코드 작성 ex..
add accesskey 속성은 마우스 등을 쓰지 않는 환경을 위해 링크나 입력 폼에서 키보드의 키 입력만으로 동작을 실행할 수 있도록 accesskey 속성값에 access 할 영어 또는 숫자 한문자를 지정하여 단축키를 설정한..
$ethx_info = isset($_REQUEST['ethx_info']) ? $_REQUEST['ethx_info'] : ""; $decode = json_decode($ethx_info, true); $field_info = $decode[0]; echo $field_info["ethx"];
var data = []; data.push({"name": "홍길동", "phone", "111-1111"}); // 전송할 때 아래와 같이 문자열을 넣어서 전송 encodeURIComponent(JSON.stringify(data));
함수명이 getUserId 일 경우 // 1. 동일 문서 if("undefined" != typeof getUserId) { alert("함수가 존재하지 않습니다."); } // 2. iframe, frame으로 나뉘어져 있을 경우 if("undefined" != type parent.docume..
display: table-cell 속성은 div를 td 처럼 쓸 수 있게 해 주는 css이다. 이어서 vertical-align: middle을 써주면 가운데로 간다.
1. Avoid CSS expressions - CSS expression을 사용하지 않는다. 2. make fewer HTTP requests - HTTP request를 최소화 하라. - image background 처리 - 같은 크기의 이미지는 하나의 이미지로 합쳐서 bac..
ui-state-default default ui-state-hover mouse hover ui-state-focus 초점이 맞춰진 상태 ui-state-active 강조 표시 ui-state-error 에러 ui-state-disabled 사용할 수 없는 상태 ui-helper-hidden 보이지 않게..
<!DOCTYPE html> 첫번째 두번째 첫번째 두번째 위와 같이 쓰게 되면 두번째 열 모두 숨겨진다. * 참고사항 ) IE에 한해서 버전에 따라 display: none이 되는 놈이 있고 visibility: collpase;가 되는 놈이 있는데,..
ECMAScript 5 객체 생성 - HTML5와 함께 출현한 javascript 표준안을 ECMAScript 5라고 부른다. - ECMAScript 5는 IE 8 이하에서는 지원하지 않는다. - 생성자는 틀은 기반으로 객체를 찍어내 객체를 생성하..
ECMAScript 5 객체 속성 추가 - HTML5와 함께 출현한 javascript 표준안을 ECMAScript 5라고 부른다. - ECMAScript 5는 IE 8 이하에서는 지원하지 않는다. 메서드 이름 설명 Object.defineProperty() 객체에..
log4j.rootLogger=ALL, stdout, rolling log4j.appender.stdout=org.apache.log4j.ConsoleAppender log4j.appender.stdout.layout=org.apache.log4j.PatternLayout # 화면에 로그 출력 log4j.appender.stdout.layo..
yaxis:{ labelWidth: 50, tickFormatter: function(num, axis){ if(!num) return num; if (parseInt(num) <= 0) return num; num = num.toString().replace(/\$|\,/g,''); if(isNaN(num)) num = "0"; sign = (num..
$(”#myTable”).jqGrid('editGridRow', “new”, { … useDataProxy: true …});
1. 한글을 기본 입력 언어로 설정 2. 영어를 기본 입력 언어로 설정 3. 영어만 입력되도록 제한 ime-mode는 웹 표준이 아니기 때문에 동작하지 않는 브라우저가 존재할 수 있다.
출처 : http://appletree.or.kr/blog/web-development/javascript/script-%ED%83%9C%EA%B7%B8%EC%9D%98-async%EC%99%80-defer-%EC%86%8D%EC%84%B1/ 기본적으로 웹 브라우저가 외부 자바스크립트를 불러오는 일반..
1. HTTP 요청을 줄여라. 우리가 웹에서 URL 입력 후 엔터를 치면 페이지가 보이게 된다. 페이지에 이미지가 3개라고 하면 총 4번의 요청이 생기게 된다. 1번(HTML) + 3번(이미지) 요청이 많으면 많을수록 속도가..
XHTML 1.0부터는 이전 버전의 브라우저와 호환성을 위해 태그(tag) 요소 등에 name 속성과 id 속성을 같은 값으로 지정하면 스타일이 충돌할 가능성이 있다. 예를들어 a[name="c1"]{ color: red; } a#c1 { color:..
1. homepage - http://www.jstree.com 2. create $("#" + val).jstree({ animation: 1000, load_open: true, real_checkboxes: true, "html_data":{ // html 형태의 데이터를 tree로 변환 "ajax":{ "url": "m..
1. checked 된 radio 값 $(':input:radio[name="radio_name"]:checked').val(); 2. 특정 radio 버튼 checked $('input:radio[name="radio_name"]:input[value="Y"]').attr("checked", true); - checked 해..
You main error is the usage of rowNum: -1 instead of some large enough value like rowNum: 10000. Moreover you should use gridview: true parameter of jqGrid and data: mydata instead of much mo..
jquery에서 each 사용 시 break 또는 continue를 사용해야 할 때가 있다. 1. continue - return true; 2. break - return false;
Eclipse 환경에서 Tomcat 기동시 이와 같은 에러가 발생한다면 1. 먼저 웹 서버를 중지 2. 이클립스 서버 뷰를 열고 해당 서버를 더블클릭하면 설정창이 나온다. 3. overview의 server option의 publish module co..
1, 원인 JSP2.0 파싱강화 (https://issues.apache.org/bugzilla/show_bug.cgi?id=45015) 2. 해결방법 2.1 유닉스/리눅스의 경우 startup.sh중에 "export CATALINA_OPTS" 부분에 문구 추가 또는 tomcat / conf / c..
구문 parseInt(string, radix); 매개변수 string 분석할 값. 만약 string이 문자열이 아니면 문자열로 변환(ToString 추상 연산을 사용)합니다. 문자열의 선행 공백은 무시합니다. radix string이..
기본적으로 db 작업하고 싶은 필드에 editable: true 속성을 넣어준다. default로 text box가 나타나는데, selectbox로 바꾸고 싶다면 edittype: 'select'와 editoptions:{value:{'0':'new window', '1': 'right w..
Introduction jQuery is awesome. I've been using it for about a year now and although I was impressed to begin with I'm liking it more and more the longer I use it and the more I find out about it's..
javascript에는 replaceall이 존재하지 않는다. 대신 쉽게 구현할 수 있다. var d = "2011-07-07"; d = d.split("-").join(""); 결과 : 20110707
1. $("#id").css(속성, 값); ex) $("#abc").css("background", "red"); 2. $("#id").css({속성: 값, 속성: 값, 속성: 값}); ex) $("#abc").css({ background: red, font-color: blue});
톰캣이 request.getRemoteAddr();시 IPV6형식으로 주소값을 반환할 때 톰캣실행시의 JVM에 환경변수를 추가한다. 이클립스 > Run > Run Configuration > Arguiments > -Djava.net.preferIPv4Stack=true 또는 run C..
$("#site_id").css("display", "none"); $("#site_id").css("color", "red"); $("#site_id").css("border", "1px solid #cccccc"); 와 같이 사용할 경우에는 매번 객체를 search 하기 때문에 오래 걸린다. 이와 같..
jQuery 성능 조정 이 기사의 두 번째 부분에서는 jQuery 코드의 성능을 향상시키는 방법을 살펴본다. 앞 섹션에서는 jQuery를 JavaScript 라이브러리로 선택하는 것이 성능을 고려했을 때 현명한 선택이라는 점을..
속성 선택자는 특성 속성명이나 속성값을 가진 요소에 스타일을 적용하기 위한 선택자다. 속성 선택자에는 네 가지 서식이 있다. 1. 요소명[속성명] id의 값은 관계 없이 id가 존재하기만 하면 된다. ex) h1[id] {..
a 요소에 tabindex 속성과 accesskey 속성을 지정하여 키조작에 의한 포커스 이동 방식을 사용자에게 제공할 수 있다. 1. tabindex 키보드 Tab키를 눌렀을 때의 포커스 이동 순서를 지정한다. 0에서 32767까지 지..
$(document).bind("contextmenu", function(e){ return false; });
parent.document == document 를 쓰면 된다. parent.document를 하였을때, parent문서가 존자하지 않으면 자기 자신을 가리키기 때문에...
String.prototype.trim = function() { return this.replace(/^\s+|\s+$/g, ""); }; var abc = " abc "; abc.trim(); document.frm.text.value.trim()
1. WCAG 1.0에서는 table 요소에 summary 속성으로 요약문을, th 요소에는 abbr 속성으로 약어를 지정할 것을 규정하고 있다. 2. width, height, border, frame, rules, cellspacing, cellpadding, align, valign..
용어와 그 설명으로 구성된 목록을 정의형 목록이라고 한다. 정의형 목록은 dl 요소로 정의하고 용어를 나타대는 dt 요소와 그 설명인 dd요소를 포함한다. 많은 브라우저에서 dd 요소가 들여쓰기되어 표시된다. dd..
jQuery에서는 class로 적용된 요소를 동적으로 처리할 수 있는 함수를 제공한다. #addClass(className) - 해당 className을 가진 클래스 속성을 추가. 즉 이벤트가 발생한 노드에 선언된 클래스 스타일을 적용시..
private static StringBuilder htmlReader(String filename) { BufferedReader bufferedReader; InputStreamReader inputStreamReader; FileInputStream fileInputStream; StringBuilder builder = null; String h..
자바스크립트(JavaScript)에서는 다음의 함수들로, HTML 페이지 주소를 인코딩/디코딩합니다. encodeURI() / decodeURI() 최소한의 문자만 인코딩합니다. ; / ? : @ & = + $ , - _ . ! ~ * ' ( ) # 이런 문자는 인..
$("#gridList").jqGrid({ url: 'string.jsp', datatype: "json", height:400, //높이 //width:300, autowidth: true, //자동 width 설정 colNames:['ID', 'Name', 'Date'], colModel:[ {name:'addin_id', index:'a..
가나다라 http://search.naver.com/search.naver?where=nexearch&query=%BC%D2%B3%E0%BD%B4%EB+%C4%AB+%B8%F1%B7%CF&sm=top_hty&fbm=1 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa..
request 객체에서 ArrayList<클래스> 형식으로 파일을 리턴해준 것을 EL로 받을때, ex) 넘겨줄때 : request.setAttribute("array", 리스트객체); 받을때 : ${array} 와 같이 받을때, forEach를..
입력상자가 하나만 있을 경우, 엔터키를 누르면 강제로 Submit 되어버린다. 엔터를 눌렀을 때, submit을 막을 방법은 1. 보이지 않게 text박스를 하나 더 만든다. 2. javascript를 통한 강제 제어 3. form 자체에..