Java 44

블록

은 HTML 태그가 아닌 타임리프의 유일한 자체 태그 보통 Thymeleaf는 속성으로 동작을 하지 태그로 동작하지 않는다. @GetMapping("/block") public String block(Model model) { addUsers(model); return "basic/block"; } 사용자 이름1 사용자 나이1 요약 사용자 이름1 userA 사용자 나이1 10 요약 userA / 10 사용자 이름1 userB 사용자 나이1 20 요약 userB / 20 사용자 이름1 userC 사용자 나이1 30 요약 userC / 30 HTML 태그안에 속성으로 기능을 정의해서 사용하는데, 위 예처럼 이렇게 사용하기 애매한 경우에 사용하면 된다. 은 렌더링시 제거됨. 두개의 div를 같이 돌리고 싶을경..

Java/Thymeleaf 2021.12.10

[ERROR] Mybatis 새로운 mapper 패키지 생성 했을 경우

데이터처리 에러 Cause: java.lang.IllegalArgumentException: Mapped Statements collection does not contain value for Home.selectAllUserList 원인 1) mapper id가 다를경우 - mapper id값과 DAO에 적어놓은 id값이 다른 경우 2) Parameter와 bean의 필드명이 틀린 경우 3) mapper파일에 정의된 네임스페이스(namespace)와 DAO에서 호출하는 네임스페이스(namespace)가 다를 경우 4) MyBatis config파일에 mapper가 정의가 되어 있지 않거나 Spelling이 틀린 경우 5) mapper에 정의된 namespace 명칭이 같은 Application 내에 중..

Java/Egov 2021.12.07

Egov 패키지 추가 시 처리 사항

EgovFramework Version : 3.10 JDK Version : 1.8 [ test 패키지를 생성했을 경우 ] - context-common.xml 추가 - base-package=""egovframework, test" - egov-com-servlet.xml 추가 - base-package=""egovframework, test" - context-aspect.xml [ egovframework 안에 koreanLang 패키지 생성했을 경우 ] 추가 - or execution(* egovframework.koreanLang..impl.*Impl.*(..)) " or를 사용하여 추가해주면 설정이 끝나고 필요한 파일들을 추가해서 작업을 진행

Java/Egov 2021.12.07

주석

@GetMapping("/comments") public String comments(Model model) { model.addAttribute("data", "Spring!"); return "basic/comments"; } 예시 html data 1. 표준 HTML 주석 2. 타임리프 파서 주석 html data 3. 타임리프 프로토타입 주석 결과 예시 Spring! 1. 표준 HTML 주석 2. 타임리프 파서 주석 3. 타임리프 프로토타입 주석 Spring! 1. 표준 HTML 주석 자바스크립트의 표준 HTML 주석은 타임리프가 렌더링 하지 않고, 그대로 남겨둔다. 2. 타임리프 파서 주석 타임리프 파서 주석은 타임리프의 진짜 주석이다. 렌더링에서 주석 부분을 제거한다. 3. 타임리프 프로토타입..

Java/Thymeleaf 2021.12.03

조건부 평가

조건부 평가 타임리프의 조건식 if , unless ( if 의 반대) @GetMapping("/condition") public String condition(Model model) { addUsers(model); return "basic/condition"; } if, unless count username age 1 username 0 switch count username age 1 username 10살 20살 기타 if, unless count username age 1 userA 10 미성년자 미성년자 2 userB 20 3 userC 30 switch count username age 1 userA 10살 2 userB 20살 3 userC 기타 if, unless 타임리프는 해당 조건이..

Java/Thymeleaf 2021.12.03

반복

타임리프에서 반복은 th:each 를 사용한다. 추가로 반복에서 사용할 수 있는 여러 상태 값을 지원 @GetMapping("/each") public String each(Model model) { addUsers(model); return "basic/each"; } private void addUsers(Model model) { List list = new ArrayList(); list.add(new User("userA", 10)); list.add(new User("userB", 20)); list.add(new User("userC", 30)); model.addAttribute("users", list); } 기본 테이블 username age username 0 반복 상태 유지 coun..

Java/Thymeleaf 2021.12.03

속성 값 설정

타임리프 태그 속성(Attribute) 타임리프는 주로 HTML 태그에 th:* 속성을 지정하는 방식으로 동작한다. th:* 로 속성을 적용하면 기존 속성을 대체한다. 기존 속성이 없으면 새로 만든다. @GetMapping("/attribute") public String attribute() { return "basic/attribute"; } 속성 설정 속성 추가 - th:attrappend = - th:attrprepend = - th:classappend = checked 처리 - checked o - checked x - checked=false 속성 설정 속성 추가 - th:attrappend = - th:attrprepend = - th:classappend = checkd 처리 - chec..

Java/Thymeleaf 2021.12.03

연산

HTML안에서 사용하기 때문에 HTML 엔티티를 사용하는 부분만 주의 @GetMapping("/operation") public String operation(Model model) { model.addAttribute("nullData", null); model.addAttribute("data", "Spring!"); return "basic/operation"; } 산술 연산 10 + 2 = 10 % 2 == 0 = 비교 연산 1 > 10 = 1 gt 10 = 1 >= 10 = 1 ge 10 = 1 == 10 = 1 != 10 = 조건식 (10 % 2 == 0)? '짝수':'홀수' = Elvis 연산자 ${data}?: '데이터가 없습니다.' = ${nullData}?: '데이터가 없습니다.' = ..

Java/Thymeleaf 2021.12.03

리터럴

Literals 리터럴은 소스 코드상에 고정된 값을 말하는 용어 "Hello" 는 문자 리터럴 10 , 20 는 숫자 리터럴 String a = "Hello" int a = 10 * 20 Thymeleaf의 리터럴 문자: 'hello' 숫자: 10 불린: true , false null: null Thymeleaf 에서의 문자 리터럴은 항상 ' (작은 따옴표)로 감싸야 한다. rule = A-Z , a-z , 0-9 , [] , . , - , _ 공백 없이 쭉 이어진다면 하나의 의미있는 토큰으로 인지해서 다음과 같이 작은 따옴표를 생략 가능 ! 오류 - error 발생 문자 리터럴은 원칙상 ' ' 로 감싸야 한다. 중간에 공백이 있어서 하나의 의미있는 토큰으로도 인식되지 않는다. 수정 이렇게 ' 로 감싸..

Java/Thymeleaf 2021.12.02

URL 링크

타임리프에서 URL을 생성할 때는 @{...} 문법을 사용 @GetMapping("/link") public String link(Model model) { model.addAttribute("param1", "data1"); model.addAttribute("param2", "data2"); return "basic/link"; } URL 링크 basic url hello query param path variable path variable + query parameter 단순한 URL @{/hello} /hello 쿼리 파라미터 @{/hello(param1=${param1}, param2=${param2})} - /hello?param1=data1&m2=data2 - () 에 있는 부분은 쿼리 파..

Java/Thymeleaf 2021.12.02