springmvc 매개 변수 귀속 총결산

요즘springmvc를 공부하고 있어요. 오늘springmvc 파라미터를 묶어서 정리하고 학습노트도 계산해 주세요!
@RequestParam 바인딩 단일 요청

RequestMapping(value = "/form2")
  @ResponseBody
  public String form2(@RequestParam String name){
    logger.info("name=" + name );
    return "";
  }
@RequestParam required(필수 여부), defaultValue(기본 매개 변수) 매개 변수가 있습니다.
기본 required=true, defaultValue가 비어 있습니다.
name 매개 변수가 존재하지 않으면 400 되돌려줍니다.
다음 쓰기 법칙을 사용하십시오. required 기본값은false입니다.

 @RequestMapping(value = "/form")
  @ResponseBody
  public String form(String name, Integer age) {
    logger.info("name=" + name + "," + "age=" + age);
    return "";
  }
@RequestParam 수조 형식도 지원

@RequestMapping(value = "/names")
  @ResponseBody
  public String names(@RequestParam String[] name) {
    logger.info("name=" + Arrays.asList(name));
    return Arrays.asList(name).toString();
  }
요청/names.do?이름 = 장삼, 이사
또는/names.do?이름 = 장삼 & 이름 = 이사
@PathVariable 바인딩 uri 변수 값

@RequestMapping("/user/{id}")
  @ResponseBody
  public String getUser(@PathVariable Long id) {
    return String.valueOf(id);
  }
요청/user/1 반환 id는 1
@CookieValue 귀속 쿠키 값

 @RequestMapping("/getCookie")
  @ResponseBody
  public String getCookie(@CookieValue("JSESSIONID") String sessionId) {
    return sessionId;
  }
@ModelAttribute 명령 객체에 매개변수 바인딩
1. 대상에 바인딩 요청 매개 변수
먼저 두 객체를 정의합니다.
Role

public class Role implements Serializable {

  private String id;
}

User

public class User implements Serializable {

  private String id;

  private Role role;
}

@RequestMapping("/getUserByModel")
  @ResponseBody
  public String getUserByModel(@ModelAttribute("user") User user) {
    logger.info(user.toString());
    return "";
  }
요청/getUserByModel에 해당합니다.do?id=123&role.id=1
노출 폼 참조 대상은 모델 데이터입니다

 @ModelAttribute("user")
  public User getUser(String userId) {
    User user = new User();
    user.setId("11");
    Role role=new Role();
    role.setId("123");
    user.setRole(role);
    return user;
  }

 
   @RequestMapping("/getUserModel")
  @ResponseBody
  public String getUserModel(@ModelAttribute User user) {
    return user.toString();
  }
요청/getUserModel?id=1
User{id='1', role=Role{id='123'}}
@ModelAttribute 주석을 사용하는 방법은 모든 Controller 방법 앞에서 실행됩니다.
@ModelAttribute 주석을 먼저 실행하여user 대상을 생성한 후user 대상의 id 속성이 1로 수정되었습니다.
@SessionAttributes 명령 객체를 session으로 바인딩
springmvc는 세션 데이터에 대한 접근을 위해 @SessionAttributes를 제공합니다
세션 추가

 @RequestMapping("/setSession")
  @ResponseBody
  public String setSession(
      HttpSession session) {
    City city = new City();
    city.setCityName("shanghai");
    session.setAttribute("city", city);
    return city.toString();
  }
세션 데이터 가져오기

// session 
@Controller
@SessionAttributes(value = {"city"})
public class TestController {
 @RequestMapping("/getSession")
  @ResponseBody
  public String getSession(@ModelAttribute City city) {
    return city.toString();
  }
}
세션 세션 지우기

 @RequestMapping("/clearSession")
  @ResponseBody
  public String clearSession(SessionStatus status) {
    status.setComplete();
    return "success";
  }
@RequestBody 바인딩 요청된 컨텐츠 영역 데이터 및 자동 유형 변환 가능
RequestBody를 사용하여 json을 객체로 변환

 @RequestMapping("/getUserByJson")
  @ResponseBody
  public String getUserByJson(@RequestBody User user){
    return user.toString();
  }
json 형식 메시지 보내기

{
  "id":"123"
}
결과 되돌리기 User {id='123', role=null}
@RequestPart "multipart/data"데이터 바인딩

 @RequestMapping("/getFile")
  @ResponseBody
  public String getFile(@RequestPart("image") MultipartFile file){
    System.out.println(file.getName()+","+file.getSize());
    return "success";
  }
소스 주소:springmvcLearn_jb51.rar
이상은 본문의 전체 내용입니다. 여러분의 학습에 도움이 되고 저희를 많이 응원해 주십시오.

좋은 웹페이지 즐겨찾기