본문 바로가기

Web15

자식 팝업창 열려있느지 체크하기 웹에서 팝업을 열 때 window.open으로 열고 있다. IE 브라우저를 지원하지 않으면서 window.showModalDialog 와 같은 함수도 사용할 수 없다. 나는 팝업이 열려 있는지만 확인하면 되어서 아래와 같이 소스를 적용해서 해결할 수 있었다. if(typeof(popup) == 'undefined' || popup.closed == true){ popup = window.open('', 'popup', 'options'); form.action = "service.do"; form.method = "post"; form.target = " popup "; form.submit(); }else{ alert('자식 화면이 열려져 있으니 닫고 다시 실행해주세요.'); } --모달 팝업 http.. 2024. 1. 12.
Input type 파일 업로드 input의 파일을 업로드 하는 경우 input tag의 files에 file들이 채워지게 되는데, 이때 files는 배열이 아니므로 map이나 filter등의 array 관련 메소드들이 없다. 따라서 제거된 파일의 목록을 별도로 만들고 그 목록을 FileList 형태로 만들어서 재할당 해주는 방식이 필요하다. const input = document.getElementById('file'); var newFile = blobToFile(blob, fileName); //1. blob 파일을 File로 생성 const newFileList = new DataTransfer(); // 2. DataTransfer 인스턴스 생성 newFileList.items.add(newFile)); // 3. 인스턴스에.. 2023. 12. 8.
request 파라미터 값 설정 및 조회 `request.setParameter`은 Java Servlet에서 사용되는 메서드로, HTTP 요청의 매개변수(parameter)를 설정합니다. Servlet에서 클라이언트로부터 전송된 데이터는 URL 매개변수나 HTML 폼 데이터 등으로 전달됩니다. 이러한 데이터를 서블릿에서 사용하기 위해서는 `request` 객체를 사용하여 매개변수를 얻어오거나 설정해야 합니다. 아래는 `request.setParameter`를 사용하는 예제 코드입니다: import java.io.IOException; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletReq.. 2023. 11. 13.
스프링프레임워크 <form:form> 태그 사용법 --스프링프레임워크 태그 사용법 스프링프레임워크 form 태그라이브러리 사용하기 위해 taglib 설정을 해야한다. --> input type hidden 속성으로 태그를 생성 --> select 태그를 생성 --> input type text 태그를 생성 이렇게 하지 않고도 스프링기반은 Model과 View를 name으로 매핑하기 때문에 자바단에서 name으로 값을 접근할 수 있다. 참고 사이트 https://tinkerbellbass.tistory.com/43 2023. 10. 25.
Eclipse 개발환경 사용시 대처법 1. 이클립스 Validation 자주 안하게 하는 설정하는 법 해당 기능은 Eclipse - Preference 메뉴 - Validation 항목에서 Suspend all validator 항목을 선택하면 validation을 수행하지 않는다. 해당 기능을 선택하기보다 불필요한 기능만 제거 하는 편을 선택했다. HTML Syntax 와 JSP Validator 등 2. SVN에서 프로젝트 받았을 때 설정하는 법 소스를 import 하고 Project Facets에서 Dynamic Web Mobule과 Java 버전이 정상적으로 체크되어있는지 확인한다 미설정이 되어있는 경우 올바르게 체크하고 적용하기 3. Java Build Path 설정 확인하기 프로젝트 WEB-INF안에 있는 lib 폴더의 라이브러리.. 2023. 8. 14.
메뉴 트리 구조 샘플 접었다 펼 수 있는 메뉴 트리 구조 샘플을 찾았다. ROOT node1 node2 node21 node3 node31 node32 node321 node322 node323 node33 HTML 삽입 미리보기할 수 없는 소스 2023. 8. 3.
Spring Interceptor 클래스 구현하기 --필터(Filter)란 Dispatcher Servlet에 요청되기 전/후에 URL에 맞는 모든 요청에 대해 부가작업을 처리하는 기능을 제공 필터는 Spring Context 밖 Web Context 범위 안이다. --인터셉터(Interceptor)란 Spring Context안에서 동작하며 Dispatcher Servlet과 Controller 사이에서 동작 인터셉터가 없다면 바로 컨트롤러를 실행한다. 인터셉터를 통해 Controller의 핸들러가 실행되기 전과 후 추가적인 작업을 원할 때 사용 --인터셉터 구현하는 방법 HandlerInterceptorAdapter 혹은 HandlerInterceptor를 상속받아 구현 가능하다. HandlerInterceptorAdapter의 경우 Spring 5.. 2023. 7. 19.
DriverSpy 라이브러리 사용하기 쿼리문 파라미터와 함께 완성형으로 확인하기 --필요한 라이브러리 log4jdbc3-1.1.jar (jdk1.4 or 1.5) slf4j-api-1.6.1.jar (log4jdbc 와 logging 서비스와 연동하게하는 API) slf4j-log4j12-1.6.1.jar (log4jdbc 와 log4j 기반 Logging 연동 라이브러리) --설정(Sprig 설정 파일 중 context-datasource.xml) 설정이 따로 빠져 있다면 src/main/resources안에 jdbc.properites 확인해볼 것 --설정(log4j.properties) log4j.logger.jdbc.sqlonly=OFF log4j.logger.jdbc.sqltiming=DEBUG log4j.logger.jdbc.au.. 2023. 7. 10.
화면에서 외부 API 연동하는 기능 성능 개선 시키기 이번에 화면 개발을 하면서 외부 API 연동을 통해 데이터를 조회 후 목록을 표시하는 것이다. 리스트는 약 2000건을 목표로 했으며 이상하게 로컬서버에서는 문제가 없었는데 운영 서버에서 5분이 지나가면 화면이 끊기는 오류가 발생했다. 그 이유는 로직이 오래 걸리기 때문이었다. 약 300건~400건 이하 조회 시 정상적으로 되지만 거의 5분 이상 지연 시 화면이 끊기고 서버는 외부 API와 연동을 하고 있었다. 데이터를 다 조회하고 웹 클라이언트에게 응답을 줘야 하는데 줄 수 없다는 에러메시지가 발생했다. 화면에서 끊기는 오류를 해결하고자 jeus나 webtob socket, connection timeout이라든지 이 부분을 열심히 찾아봤다. 어디에도 5분, 300초, 3000ms에 대한 limit이 .. 2023. 7. 5.
WEB Front(JSTL, Javascript) --JSTL c:forEach 2개의 값을 사용하는 방법 컨트롤러에 ArrayList 2개를 넘겨주는데 jsp 페이지에서 2개의 값을 c:forEach 사용하는 방법 andView.addObject("plist",plist); andView.addObject("slist",slist); 이런식으로 c:forEach 안에 varStatus="status"를 써주고 slist[status.index] 붙여주면 2개의 값을 사용할 수 있다. slist는 컨트롤러의 andView에서 키 이름이다. ${slist[status.index] } ${tmp.postNo } 참고 사이트 http://javakorean.com/jstl-foreach-%EC%97%90%EC%84%9C-%EB%B3%80%EC%88%98-2%.. 2023. 6. 7.
반응형