public List searchElastic(Map paramMap) { elasticVOcontent = new ElasticVO (); List contents = new ArrayList(); List list = null; try(RestHighLevelClient client = config.client()) { String indexName = "indexName"; BoolQueryBuilder query = QueryBuilders.boolQuery(); String searchName= MapUtils.getString(paramMap, "searchName", ""); String searchKwon = MapUtils.getString(paramMap, "searchKwon", ""..
타임리프(Thymeleaf)란 뷰 템플릿으로 컨트롤러에서 리턴된 데이터들을 페이지에 동적으로 렌더링 해줍니다. ※ Thymeleaf 사용법 : 타임리프 사용 시 기본 문법은 data-th-text, th:text 둘 중 아무거나 사용해도 상관없어요. ( html에서 사용하는 href, src, text, style 등등 타임리프에서 사용할 때는 data-th-href, data-th-src 이런 식으로 넣어주면 됩니다. ) : 값을 그대로 표출할 때 or [[ ${text} ]] : Thymeleaf html 태그가 들어가는 데이터 값을 그대로 삽입하고 싶을 때 (div, span, img, p, strong 등) : Thymeleaf if, else 구문 ( 자바에서 사용하는 if, else와 동일하게..
아이패드와 몇몇 아이폰 기종에서 Date가 안나오고 NaN이라고 뜨는 이슈가 들어왔다. 자바스크립트에서 흔히 사용하는 Date 객체에 String 타입의 날짜를 담아 사용할 때, ex : new Date('2021-08-08'); 사파리에서는 Invalid Date error를 내뱉는다. 해당 이슈를 해결하기 위해 moment.js 날짜 라이브러리를 사용했다. moment.js를 사용하면 모든 기종 및 사파리에서도 사용 가능하다. date 객체를 생성할 때 new Date(); 를 사용한다면 moment.js 에서는 moment();, moment(new Date()); 를 사용하여 현재 날짜를 가져올 수 있다 [ 날짜 format ] var date = '2021-08-22 03:..
xss 공격이란 크로스 사이트 스크립트로 서버로 보내는 입력값에 자바스크립트를 보내서 다른 사용자에게 자신이 만든 스크립트를 실행시켜 사용자의 정보를 빼내는 것이다. xss 공격에 노출되어 있는지 확인하는 방법은 간단하다. 프로젝트를 돌린 후, 아무 입력창에 --> 3. 메소드 추가 public class AppInitializer extends AbstractAnnotationConfigDispatcherServletInitializer { @Override public void onStartup(ServletContext servletContext) throws ServletException { FilterRegistration.Dynamic xssFilter = servletContext.addFi..
프로젝트를 진행하다보니 쇼핑몰이나 다른 사이트에서 많이 보던 sns 로그인을 연동하여 사용하기로 했다 기존에 security로 로그인이 구현되어 있는 상태이다. 1. POM.XML oauth2 client add org.springframework.boot spring-boot-starter-oauth2-client 2. clientId와 clientSecret setting, application.yml (해당 사이트에서 발급) - 따로 포스팅 되어 있지 않으니 발급 절차는 검색하세요 spring: security: oauth2: client: registration: kakao: client-id: 발급받은 client-id key client-secret: 발급받은 client-secret key ..
- Total
- Today
- Yesterday