반응형
package org.zerock.controller;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Arrays;
import org.springframework.beans.propertyeditors.CustomDateEditor;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.WebDataBinder;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.InitBinder;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam;
import org.zerock.domain.SampleDTO;
import org.zerock.domain.SampleDTOList;
import org.zerock.domain.TodoDTO;
import lombok.extern.log4j.Log4j;
@Controller
@RequestMapping("/sample/*")
@Log4j
public class SampleController {
@InitBinder
public void initBinder(WebDataBinder binder) {
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
binder.registerCustomEditor(java.util.Date.class, new CustomDateEditor(dateFormat, false));
}
@RequestMapping("")
public void basic() {
log.info("basic.....");
}
@RequestMapping(value="/basic", method = {RequestMethod.GET, RequestMethod.POST})
public void basicGet() {
log.info("basic get..........");
}
@GetMapping("/basicOnlyGet")
public void basicGet2() {
log.info("basic get only get..........");
}
@GetMapping("/ex01")
public String ex01(SampleDTO dto) {
log.info("" + dto);
return "ex01";
}
@GetMapping("ex02")
public String ex02(@RequestParam("name") String name, @RequestParam("age") int age) {
log.info("name:" + name);
log.info("age:"+ age);
return "ex02";
}
@GetMapping("/ex02List")
public String ex02List(@RequestParam("ids") ArrayList<String> ids) {
log.info("ids: " + ids);
return "ex02List";
}
@GetMapping("/ex02Array")
public String ex02Array(@RequestParam("ids") String[] ids) {
log.info("array ids:" + Arrays.toString(ids));
return "ex02Array";
}
@GetMapping("/ex02Bean")
public String ex02Bean(SampleDTOList list) {
log.info("list dtos:"+list);
return "ex02Bean";
}
@GetMapping("/ex03")
public String ex03(TodoDTO todo) {
log.info("todo:" + todo);
return "ex03";
}
@GetMapping("/ex04")
public String ex04(SampleDTO dto, int page) {
log.info("dto:" + dto);
log.info("page:" + page);
return "/sample/ex04";
}
}
SampleController
package org.zerock.domain;
import java.util.Date;
import org.springframework.format.annotation.DateTimeFormat;
import lombok.Data;
@Data
public class TodoDTO {
private String title;
@DateTimeFormat(pattern = "yyyy/MM/dd")
private Date dueDate;
}
TodoDTO
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="EUC-KR">
<title>Insert title here</title>
</head>
<body>
<h2>SAMPLEDTO ${sampleDTO }</h2>
<h2>page ${page} </h2>
</body>
</html>
ex04.jsp
출처는 구멍가게코딩단의 코드로배우는 스프링 웹 프로젝트의 일부분입니다.
반응형
'2020 > 주저리 주저리 타이핑.. 낙서장.' 카테고리의 다른 글
Controller의 리턴 타입 (0) | 2020.05.06 |
---|---|
RedirectAttributes (0) | 2020.05.06 |
Model이라는 데이터 전달자 (0) | 2020.05.06 |
@DateTimeFormat (0) | 2020.05.06 |
@InitBinder (0) | 2020.04.29 |