build.gradle 에는 개발중인 프로젝트의 버전이 존재합니다. 이런 버전을 외부에 공개하거나 전역변수로 사용하는 것은 어렵습니다. 구글링을 진행하여도 버전을 파일로 떨구는 방법만이 있을 뿐, 실제로 적용한 사람은 없었습니다. 그래서 오늘은 build.gradle 에 저장된 project.version 을 외부로 빼내어 실제 자바 코드에서 사용하는 방법을 적어보려 합니다. 1. build.gradle 세팅하기 가장 먼저 build.gradle 의 변수로 생성된 version 값을 추출해야 하고, 그 문법을 알아야 합니다. gradle은 Java 언어와 호환이 가능하기 때문에 Java 문법을 그대로 사용합니다. println "$project.version" println 은 gradle 내의 변수를 ..
이번 글에서는 build.gradle 파일에서 *.properties에 선언된 값을 가져올 수 있는 방법이 없을지 고민해보다가 찾은 방법을 공유하도록 하겠습니다. build.gradle 내에 아래와 같이 추가합니다. 방법1 def Properties properties = new Properties() InputStream inputStream = new FileInputStream(project.rootProject.file('src/main/resources/application.properties')) 방법2 def Properties properties = new Properties() Reader reader = new FileReader(project.rootProject.file('src/m..
오랜만에 템플릿엔진인 타임리프의 유용한 사용법에 대해 적어보려고 합니다. th:id, th:value, th:text th:classappend : 클래스 동적 추가 코드가 01일때만 클래스 추가 not #strings.isEmpty( data ) : 문자열 null 체크, 빈값 체크 th:selected : select박스 selected 010 011 012 th:each : 반복문 th:if, th:unless 타입이 01일때 태그 노출 타입이 01이 아닐때 태그 노출 th:switch case 01 02 그 외 (생략가능) th:with : 변수설정 출처: https://nocount.tistory.com/197 [오류노트]
Author: 니용 이전 글에서는 자주 사용하는 String, Number메서드를 위주로 설명하였다면 이번 글에서는 메시지 또는 Date, Calendar 클래스를 사용하여 표시하는 방법을 설명드리려고 합니다. 7. Messages 자바를 기준으로 자바에서 제공해주는 MessageQueue 객체를 입력받아 출력을 할 때 주로 사용합니다. Grammar (Method) Description ${#messages.msg('msgKey')} ${#messages.msg('msgKey', param1...)} ${#messages.msgWithParams('msgKey', new Object[] {param1...})} ${#messages.arrayMsg(msgKeyArray)} ${#messages.list..
Author: 니용 이전 글에서 Thymeleaf의 기본적인 문법을 확인하였다면, 이번 글에서는 Thymeleaf를 더 심도 있게 활용할 수 있는 방법을 알려드리려고 합니다. Thymeleaf는 Utility Object라고 하는 함수를 기본적으로 내장하고 있습니다. 흔히 우리가 사용하는 자바 언어의 String 내에 기본 내장되어 있는 함수와 이를 응용해서 쓸 수 있는 java.lang.common3.StringUtils와 같은 클래스들이 이러한 예시라고 생각하면 좋습니다. 대표적으로 사용하는 유틸리티들을 아래에 나열하였습니다. 사용 방법은 ${#...}로 사용합니다. 1. Strings Grammar (Method) Description ${#strings.toString(obj)} Object ob..
Author: 니용 오늘은 Thymeleaf를 사용하는 문법에 대해 글을 작성해보려 합니다. Thymeleaf는 템플릿 엔진이라고 하여 웹페이지 내에서 html 태그만을 사용하여 화면을 그려주는 용도로 사용하는 문법입니다. Thymeleaf를 사용하면서 장점은 몇 가지가 있는데요. 아래에 더 자세히 설명하도록 하겠습니다. 1. JavaScript의 역할을 부분적으로 도와준다. 자바스크립트의 경우 대표적으로 화면이 움직이는 모션에 대해 많은 처리를 하는 부분이 있습니다. 또 문법도 어렵지 않게 if, for문을 그대로 사용하여 백엔드에서 구분하기 어려웠던 문법도 쉽게 풀 수 있습니다. Thymeleaf는 태그 안에서 사용가능하도록 앞에 타임리프의 문법인 'th:'를 먼저 넣습니다. th:if로 시작하면 J..
Author: 주니용 웹 프로젝트에서 /resource/static에 들어가는 파일의 대부분은 캐시의 영향을 받습니다. 배포를 하더라도 기존의 캐시가 적용되면 캐시 삭제를 하지 않는 이상 변경되지 않습니다. 대개 *.js 파일이나 *.css 파일이 많이 수정이 되는 경우 이슈가 생겨 배포를 하더라도 클라이언트가 캐시 삭제를 하지 않는 이상 보통은 기존의 파일을 가지고 있게 됩니다. 따라서, 이를 해결하기 위한 Thymeleaf만의 꿀팁이 있습니다. 먼저 Controller의 Model에서 아무 키값에 System.currentTimemillis()를 넣어줍니다. @Controller @RequestMapping("/test") public class TestController { @RequestMappi..