목록spring parameter (3)
[꼼꼼한 개발자] 꼼코더
🗳 파일 업로드 처리Controller의 많은 작업을 스프링 MVC가 처리하기 때문에 개발자는 해야 하는 역할에만 집중할 수 있지만.조금 신경써야 하는 부분이 파일 업로드 처리이다. 파일 업로드를 위해서는 전달되는 파일 데이터를 분석해야 한다Servlet 3.0 이후(Tomcat 7.0)에는 별도에 추가 라이브러리가 필요하지 않는다 하지만 ‘Spring Legacy Project’로 생성되는 프로젝트는 Servlet 2.5를 기준으로 생성되므로일반적으로 많이 사용하는 commons-fileupload 라이브러리를 추가하여 예제를 작성하겠다.👨🏻💻 파일 업로드 실습( commons-fileupload 라이브러리 사용)👨🏻💻 pom.xml 추가이후 파일이 임시로 업로드될 폴더를 upload/..
✍🏻 @ModelAttribute 어노테이션 웹 페이지 구조는 Request에 전달된 데이터를 가지고 필요시 추가적인 데이터를 생성하여 화면에 전달하는 방식으로 동작한다. Model의 경우는 파라미터로 전달된 데이터를 가지고 존재하지 않지만 화면에서는 필요한 데이터를 전달하기 위해 사용. 게시판의 페이지 번호는 파라미터로 전달되지만, 결과 데이터를 반환하려면 Model에 담아서 전달해야 함 스프링 MVC의 Controller는 기본적으로 Java Beans 규칙에 맞는 객체는 다시 화면으로 객체를 전달한다. 다시 말해 Java Beans의 규칙은 단순히 생성자가 없거나 빈 생성자를 가져야 하며 getter/setter를 가진 클래스의 객체들을 의미한다. 앞의 예제는 파라미터로 사용된 SampleDTO의 ..
👨🏻💻 리스트, 배열 처리 동일한 이름의 파라미터가 여러 개 전달되는 경우에 ArrayList 등을 이용해서 처리가 가능하다. 코드와 같이 List 와 같은 인터페이스 타입이 아닌 실제적인 클래스 타입으로 지정해줘야 한다. 예제 코드는 ‘ids’ 이름의 파라미터가 여러 개 전달되어도 ArrayList 이 생성되어 자동으로 수집된다. ‘/sample/ex02List?ids=111&ids=222&ids=333’을 호출 시 아래와 같은 로그가 출력된다. 배열의 경우도 동일하게 처리된다. 👨🏻💻 객체 리스트 (SampleDTO 클래스 작성) 만일 전달하는 데이터가 SampleDTO와 같이 ‘객체 타입’이고 여러 개를 처리해야 한다면 리스트를 포함하는 클래스를 설계해야 한다. 👨🏻💻 SampleDTOList..