SpringMVC 상용 주해 및 용법 (상)

7329 단어 javawebspringmvc
개인 학습 노트, 여기 주석 만 기록 합 니 다. springmvc 설정 에 있어 서 개인 적 인 이 해 를 더 이상 언급 하지 않 습 니 다. 오류 가 있 으 면 지적 해 주 십시오. 감사합니다. 1. springmvc 설정 파일 헤더 에 xmlns: context = "http://www.springframework.org/schema/context" http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.0.xsd 가방 SpringMVC 常用注解 及 其用法 (上)_第1张图片 SpringMVC 常用注解 及 其用法 (上)_第2张图片 SpringMVC 常用注解 及 其用法 (上)_第3张图片 2. 어떤 가방 을 스 캔 해 야 하 는 지 설명 합 니 다.
3. 일반적인 주 해 를 사용 합 니 다. 일반 용법 @ Controller 는 제어 류 에 쓰 고 제어 류 를 등록 하여 spring 용기 에 알려 줍 니 다. 이것 은 제어 류 --- @ RequestMapping (value = "/ login", method = RequestMethod. POST) 은 클래스 나 방법 에 쓸 수 있 습 니 다. value 는 접근 경로 이 고 method 는 method 방법 만 접근 할 수 있 습 니 다. --- @ RequestParam (value = ")전단 에서 전 송 된 매개 변 수 를 연결 하 는 데 사용 되 는 세 가지 속성 value: 입력 요청 매개 변수 이름 required: 필요 한 지, 기본 값 은 true 입 니 다. 요청 에 해당 하 는 매개 변수 가 있어 야 함 을 표시 합 니 다. 그렇지 않 으 면 404 오류 코드 를 보고 합 니 다.defaultValue: 기본 값 은 요청 에 같은 이름 의 인자 가 없 을 때 기본 값 을 표시 합 니 다. 기본 값 은 SpEL 표현 식 이 같은 이름 의 인자 가 있 으 면 매개 변수 유형 은 집합 이나 배열 입 니 다. 예 를 들 어 url? role = admin & role = user, @ RequestParam (value = "role") 을 사용 해 야 합 니 다. String [] roleList 수신 은 기본 유형 과 그 포장 류 와 String 만 연결 할 수 있 고 대상 을 연결 할 수 없습니다. 대상 은 @ ModelAttribute 로 만 연결 할 수 있 습 니 다. @ RequestParam 으로 대상 을 연결 하면 일반적인 상황 에서 쓰 려 는 것 이 잘못 되 고 value 의 값 을 가리 키 며 쓰 지 않 으 면 자바 의 반사 체제 로 생 성 된 대상 이 방법 을 포함 하 는 인 자 를 저장 하지 않 기 때 문 입 니 다.즉, 매개 변수 이름 은 class 파일 에 저장 되 지 않 기 때문에 spring 은 바 인 딩 을 반사 할 수 없습니다. @PathVariable 과 @ RequestParam 은 모두 value 의 값 eg 를 써 야 합 니 다.
@Controller @RequestMapping(value="/login") public class LoginAction { @RequestMapping(value="/login1.action") public String login1( @RequestParam(value="name",required=false) String name, @RequestParam(value="password",required=false) String password, @RequestParam(value="address") String address, Model model){ System.out.println(id); System.out.println(name); System.out.println(password); System.out.println(address); return "/success.jsp"; } }

전단 페이지
 




-- @ PathVariable 은 요청 URL 의 템 플 릿 변 수 를 기능 처리 방법의 매개 변수 에 비 추 는 데 사 용 됩 니 다. Restful eg 가 무엇 인지 알 수 있 습 니 다.
@RequestMapping(value="/{id}/login2.action") public String login1( @RequestParam(value="name",required=false) String name, @RequestParam(value="password",required=false) String password, @PathVariable(value="id") String id, Model model){ System.out.println(id); //    23232323 System.out.println(name); System.out.println(password); return "/success.jsp"; }

전단 페이지



-- @ ModelAttribute (value = '대상 명') 은 여러 개의 매개 변 수 를 대상 에 연결 합 니 다. 기본 유형 과 String 은 이전 @ RequestParam 과 다 릅 니 다. 이것 은 url? uer. id = xxx & user. passwd = xx & company = xx 입 니 다. 이 세 개의 매개 변 수 를 user 에 직접 연결 하면 페이지 에 대상 명. 속성 을 통 해 데 이 터 를 방법 매개 변수 표 에 표시 할 수 있 습 니 다.request. setAttribute () 에 해당 합 니 다. 전단 페이지 데이터 형식 과 대상 데이터 형식 이 맞지 않 으 면 400 오류 가 발생 할 수 있 습 니 다. 형식 이 맞지 않 아서 매개 변수 가 대상 에 연결 되 지 않 습 니 다. 예 를 들 어 전단 페이지 는 숫자 이 고 배경 에 Integer 를 사용 하면 400 이 발생 합 니 다. 기본 String 형식 eg 이기 때 문 입 니 다.
@RequestMapping(value="/login3.action") public String login3( @ModelAttribute(value="user") User u, @RequestParam(value="name",required=false) String name, @RequestParam(value="password",required=false) String password, @ModelAttribute(value="company") Company c, Model model){ System.out.println(u.toString()); System.out.println(name + " " + password); System.out.println(c.toString()); return "/success.jsp"; }

전단 페이지





일반적인 방법 에 적 혀 있 습 니 다. 역할: 이 방법 을 실행 하기 전에 반환 값 은 모델 대상 의 속성 목록 에 들 어 갑 니 다. 보기 페이지 전시 에 사용 할 때 기능 방법의 반환 값 에 쓰기 전에 사용 합 니 다. 역할: 노출 기능 처리 방법의 반환 값 은 모델 데이터 로 보기 페이지 전시 에 사용 합 니 다.
--- @ SessionAttributes (value = {"user"}) 는 클래스 에 적 혀 있 습 니 다.
메모리 역할 은 모델 대상 ModelMap, Model, Model AndView 의 이름 이 'user' 인 대상 을 session 에 저장 하기 때문에 model. addAttribute ('user', u) 가 있어 야 한 다 는 뜻 이다.여기 있 는 "user" 와 value 의 값 만 같 아야 합 니 다. 없 으 면 역할 을 잘못 보고 할 수 있 습 니 다. @ ModelAttribute 와 @ Session Attributes 를 함께 사용 하 는 것 은 Session 속성 을 방문 하 는 contrller 에 @ Session Attributes 를 추가 한 다음 방법 에 필요 한 User 매개 변수 에 @ ModelAttribute 를 추가 하고 이들 의 속성 이름 이 일치 하도록 해 야 한 다 는 뜻 입 니 다.SpringMVC 는 @ SessionAttributes 가 정의 하 는 속성 을 ModelMap 대상 에 자동 으로 주입 하고 설정 방법의 매개 변수 목록 에 있 을 때 ModelMap 에서 이러한 대상 을 찾 아 매개 변수 목록 에 추가 합 니 다.메모: @ ModelAttribute 와 @ SessionAttributes 가 동시에 나타 날 때 @ ModelAttribute 는 @ SessionAttributes 의 대상 을 사용 합 니 다. 이때 전단 데이터 가 SessionStatus status 에 연결 되 지 않 습 니 다.status.setComplete();이 session 이 파괴 되 었 음 을 나타 내 는 @ SessionAttributes 의 session 만 제거 하고 HttpSession 의 데 이 터 를 제거 하지 않 습 니 다 - @ initBinder 라 는 주 해 는 형식 변환기, 예 를 들 어 날짜 형식 변환 eg, 어떤 컨트롤 러 에 이 방법 이 있 습 니 다.
@InitBinder protected void initBinder(HttpServletRequest request,ServletRequestDataBinder binder) throws Exception { binder.registerCustomEditor( Date.class, new CustomDateEditor(new SimpleDateFormat("yyyy-MM-dd"),true)); }

이 컨트롤 러 를 통 해 이 방법 을 실행 합 니 다. 받 은 날짜 매개 변 수 를 바 꾸 는 글 이 너무 길 어서 항상 형식 오류 로 저장 되 어 있 습 니 다. 이 를 반 으로 나 누 었 습 니 다. 그리고 일부분 은 SpringMVC 에서 자주 사용 하 는 주석 과 용법 (하) 을 보 았 습 니 다.

좋은 웹페이지 즐겨찾기