Programming Language/Javascript, ... 81

[JavaScript/Error] Uncaught SyntaxError: Unexpected token ''

서버를 실행한 후 웹에 들어갔는데 떠야할 컬럼이 뜨지 않았다. 콘솔을 확인해보니 Uncaught SyntaxError: Unexpected token ':' 라는 에러가 발생하였다. 이는 예상치 못한 ':' 라는 토큰에 대해 문법 에러가 발생한 것이다. 어디선가 ':'를 잘못 선언하였다는 것인데, 코드를 다시 훑어보니 ':'(콜론)이 아니라 '.'(페리오드)를 잘못 작성하여 발생하였다. ajax를 작성하는 과정에서 $.ajax({ title : "A", message : "B", url : "C". data : D, ... }); 위의 예시에서 "C". 로 작성하였는데, 이를 ','(콤마)로 변경하였더니 정상적으로 컬럼이 떴다. Uncaught SyntaxError: Unexpected token '' ..

[Javascript] 동등 연산자 ==

동등 연산자 == ==는 동등 연산자(Equality)다. 동등 연산자는 두 개의 피연산자가 동일한지 확인하며, Boolean값을 반환한다. (1) 타입 변환 없이 비교 1) String : 두 피연산자의 문자 순서와 문자열이 동일 ▷ true를 반환 2) Number : 두 피연산자의 값이 동일 ▷ true를 반환. +0과 -0은 동일한 값으로 취급. 어느 한쪽이 NaN일 경우 false를 반환 3) Boolean : 두 피연산자가 모두 true이거나 false ▷ true를 반환 1 == 1; // true "ex" == "ex" // true (2) 타입 변환하여 비교 : 두 개의 피연산자의 타입이 다를 경우, 비교하기 전에 동일한 타입으로 변환시킨다. 1) 숫자와 문자열을 비교 ▷ 문자열을 숫자로..

[MyBatis/Error] A query was run and no Result Maps were found for the Mapped Statement

org.mybatis.spring.MyBatisSystemException: nested exception is org.apache.ibatis.executor.ExecutorException: A query was run and no Result Maps were found for the Mapped Statement '###mapper'. It's likely that neither a Result Type nor a Result Map was specified. 해당 오류는 mapper에서 mybatis 부분의 resultType을 올바르게 작성하지 않아서 발생하는 것이다. resultType을 바르게 작성하면 오류가 사라진다. 나의 경우 resultType을 적지 않아서 해당 오류가 발생하였다.

[MyBatis] Mapped Statements collection does not contain value for 에러

java.lang.IllegalArgumentException: Mapped Statementscollection does not contain value for 해당 에러는 이럴 때 발생한다. 1. mapper id가 다를 경우 : mapper 파일에서 구문의 id 값과 Dao/Service에서 접근하는 id값이 다를 때 발생할 수 있다. 2. Parameter와 bean의 필드명이 틀릴 경우 3. mapper 파일에 정의된 namespace와 Dao/Service에서 호출하는 namespace가 다를 경우 4. mybatis-config 파일에 mapper가 정의되어 있지 않거나 스펠링이 틀릴 경우 5. mapper에 정의된 namespace 명칭이 같은 application 내에 중복될 경우 출처:..

[MyBatis] mapper.xml

select 구문 insert 구문 mapper [DML문일 경우] (, 도 동일하다.) - parameterType 속성: 전달받을 값이 없으면 생략 가능하다. - 는 resultType 또는 resultMap으로 결과값에 대한 타입을 반드시 지정해야 한다. - 실행 결과가 처리된 행의 개수(int 타입)이기 때문에 resultType/resultMap에 대한 속성이 필요하지 않다. - 기존에 사용하던 위치홀더가 아니라 #{필드명/변수명/map의값}으로 작성한다. resultMap ResultSet으로부터 조회된 컬럼값을 하나씩 뽑아 지정한 VO 객체에 각 필드를 담는 JDBC 코드를 줄여준다. ex) member.setMemberId(rset.getString("MEMBER_ID")); . .

[MyBatis] EncodingFilter

encodingFilter는 기존 servlet에서 request.setChracterEncoding("UTF-8");를 매번 작성해서 인코딩을 거쳐야 하는 불편함을 없애기 위해 필요하다. common 폴더에 filter 폴더를 만든 후 해당 폴더에 EncodingFilter 파일을 생성한다. @WebFilter("") - 전체에 대해 필터를 할 땐 /* 를 작성한다. - 확장자를 정해서 필터를 할 땐 *.확장자(ex. *.me)를 작성한다. - 개별적으로 필터를 할 땐 매핑 주소(ex. example.ex 또는 /example.jsp)를 작성한다.

[MyBatis] mybatis-config.xml

이 문서의 가장 위에 이 구문을 추가한다. 더보기 http://mybatis.org/dtd/mybatis-3-config.dtd"> - DTD: 이 문서 내에 있는 태그들이 configuration 태그 안에 있어도 되는지 유효성을 체크해주는 구문이다. [기본 설정] 더보기 configuration mybatis-config.xml 문서의 형식은 configuration, 즉 환경 설정이라는 것을 뜻한다. 이때 configuration 태그가 전체를 감싼다. settings mybatis를 구동했을 때 선언할 설정들을 작성하는 태그 영역이다. : 데이터가 null로 전달되었을 땐 빈 칸이 아니라 NULL로 인식한다. 그리고 이 NULL은 무조건 대문자로 작성해야 한다. typeAliases VO/DTO ..

[MyBatis] 라이브러리

프로젝트를 생성하면 src 폴더 외에 webapp 폴더도 생성된다. 이 webapp 폴더 하의 WEB-INF 폴더에다 lib 폴더(library의 약자)를 생성한다. 그 다음 lib 폴더에는 위 사진의 jar 파일들을 넣는다. 1. mybatis-3.5.10.jar : mybatis를 사용하기 위함 2. ojdbc6.jar : Oracle 10g 기준 3. taglibs-standard-compat-1.2.5.jar : jstl을 사용하기 위함(아래 4~6번도 동일) 4. taglibs-standard-impl-1.2.5.jar 5. taglibs-standard-jstlel-1.2.5.jar 6. taglibs-standard-spec-1.2.5.jar 라이브러리에 해당 파일이 없으면 제대로 실행되지 ..

[EL] EL - 문법, 연산자 기호/우선순위, 내장 객체

EL(Expression Language) : , out.print()와 같이 JSP 상에서 표현할 값을 ${ value } 형식으로 간결하게 작성한다. 1. 연산자 기호 일반 연산자 EL 연산자 덧셈, 뺄셈, 곱셈 +, -, * +, -, * 나눗셈, 나머지 연산 /, % div, mod and 연산, or 연산, ! 연산 &&, ||, ! and, or, not ~보다 작다, 크다 lt(less than), gt(greater than) 작거나 같다, 크거나 같다 = le(less or equal), ge(greater or equal) ~와 같다, 다르다 ==, != eq(equal), ne(not equal) null값 처리 value == null empty 2. 연산자 우선순위 [], . → ..