본문 바로가기

Stack Overflow/스프링28

[스프링] JS Jquery 함수 trigger 말고도 Button이 아닌 것(A 태그 등) 강제로 처음부터 시작하기 현업 기존 시스템에 짜여져있는 여러 js를 수정할 수 없는 경우가 있으며, 따라서 이를 강제로 클릭해서 클릭해야만 나오는 내용을 보여줘야 한다. js를 고쳐주면 좋겠지만, 거대한 서비스 시스템을 운용할 때 수많은 영향을 가는 js를 고치기에는 매우 부담스럽다. 하기는 a태그를 강제로 실행시키는 것이고, 버튼과 a태그 아닌 여러 html 코드 내에서도 동작한다. 1. JQEURY 2. HTML 되겠지.. 상기와 같이 시작하면 페이지를 불러올 때 버튼을 한번 누른 효과가 나타난다. 2022. 3. 26.
[스프링]Don't know how to iterate over supplied "items" in <forEach> 오류 원인 및 해결방법 일반적으로는 리스트 타입이 아닌데 JSTL에서 forEach를 사용해서 발생하는 오류이다. 읽어봐도 forEach 내의 item을 어떻게 iterate를 할수 있는지 알수 없다고 써있으니까 말이다. 간단하게 이 문제면 해결하기가 쉽다. 근데 다른 이 오류는 다른 문제에서도 나타날 수 있다. 예를들면.. 다음과 같은 경우 소스를 보면 된다. ${list.content } forEach 내에 when을 사용하여 list의 전체 length 를 구하는 것이 소스코드의 의도이다. 근데 이렇게 소스를 작성하면 Don't know how to iterate over supplied "items" in 오류를 볼 수 있다. forEach에서 list를 사용하여 item값을 추출했는데 length list를 사용하니 .. 2022. 3. 25.
[스프링] JSTL 특정 날짜 이후에 페이지 내용 변경하기 서비스를 하다보면 고객들에게 일정날 날짜 이후에 공개되야 하는 페이지가 있다. 디비로 처리하는 방법도 있고, 백엔드 단에서도 처리하는 방법이 있고 그럴텐데, 팝업과 같은 공지내용을 간단히 바꾸기 위해서 위 내용은 너무 번거롭다. 간단하게 변경하는 방법을 기록한다. 1. 태그 라이브러리 선언 2. 태그 날짜와 같은 경우 'yyyymmdd' 형식으로 정확하게 현재 날짜와 비교하는 방법도 있을 것이다. 근데 생각해보면 날짜는 지금보다 앞선 날짜가 무조건 크다. 위와 같이 간단하게 작성하면 팝업 내용을 해당 일자 후에 변경할 수 있다. 시간도 컨트롤을 하고 싶으면 pattern 부분을 다음과 같이 변경하면 되겠다. 기존 pattern : yyyymmdd 수정 pattern : yyyyMMddHHmmss 상기와 .. 2022. 3. 22.
[스프링] 자바스크립트 콜백(JS Callback)을 이용해서 비동기 순서 제어하는 방법 자바스크립트로 코딩을 하다보면 순서가 내가 원하는데로 되지 않는다. 구글링해서 동기 코드로 작성해도, 어떤 개발에서는 동기 순서도 정상적으로 되지 않는다. 즉, 코드에 따라서 동기식으로 작성하더라도 제어가 맘대로 안될 때가 생긴다. 자바 스크립트의 콜 스택(Call Stack), 테스트 큐(Task Queue), 이벤트 루프(Event Loop) 동작 순서 원리와 관련있는데...(Task Queue에 쌓인거는 어쨋든 Call Stack으로 옮겨져 나중에 실행됨) 보통 setTimeout과 같은 콜백함수를 쓸때 순서가 맘데로 제어가 안되는 일이 생긴다. 더군다나 Promise를 사용할 수 없는 구닥다리 시스템을 사용 중일때는 문제가 심각해진다. 여기서는 자세히 설명하지 않고 이런거 상관없이 제어하는 코드를.. 2022. 3. 7.
[스프링] 레거시파일 - 크롬에서 파일 다운로드 시 jsp 확장자 파일이 내려받아지는 경우 현업에 있다보면 수정할 시간이 확보되지 않아 긴급하게 처리해야하는 경우가 있다. jsp에 모든 백엔드 작업이 되어있는 레거시 코드인 경우이다. 이번의 경우는 윈도우 익스플로러 브라우저 환경에서는 다운로드가 무리가 없지만, 크롬 엔진을 이용하는 브라우저에서는 다운로드를 받으면 jsp 확장자 파일이 다운로드 되는 이슈를 수정하는 소스이다. 수정방법은 매우 간단하며, 긴급용으로 다음과 같이 처리해주면 된다. 상기의 내용과 같이 파일명을 확장자를 지정해주면 해결이 된다. 이런 루틴으로 가면 된다는 것이고, 차후 파일명을 입력받을 수 있게 한다던지 레거시를 고치던지 하면 된다... 레거시 코드는 답이 없다.. 2022. 2. 25.
[스프링] URL 호출했는데 HTTP Status 405 에러가 발생되는 경우 수정 및 해결방법 HTTP Status 405 – Method Not Allowed Type Status Report Message Request method 'GET' not supported Description The method received in the request-line is known by the origin server but not supported by the target resource. URL을 입력하여 웹서비스를 호출하면 다음과 같은 오류가 발생한다. 원인 해결방법은 간단하다. 페이지 호출을 위해서 URL에 GET 방식으로 모든 도메인 주소를 작성하였지만, 호출해주는 메소드는 POST로 명시적인 지정이 되어 있기 때문이다. 1. @RequestMapping(value = "GetPost", m.. 2022. 2. 24.