Struts 2 제9 part Model Driven 을 통 해 인 자 를 받 습 니 다.
4669 단어 struts2
Struts 2 제9 part Model Driven 실현 을 통 해 전 참 됩 니 다.
이것 은 Action 의 세 번 째 매개 변 수 를 받 는 방법 으로 비교적 적 게 사용한다.그러나 Model Driven 이라는 인 터 페 이 스 를 실현 함으로써 Action 수신 파 라 메 터 를 실현 하 는 것 은 디자인 모델 인 MVC 모델 을 나 타 낼 수 있다.
아래 의 내용 은 주로 인터넷 에서 수집 한 것 이다.
struts 2 의 Model Driven 에 대한 소개
Action 속성 에 따라 두 가지 로 나 눌 수 있 습 니 다. Field - Driven (속성 구동) Action 과 Model - Driven (모델 구동) Action.1. Field - Driven (속성 구동) Action, Action 은 자신의 속성 을 가지 고 있 습 니 다. 이런 속성 은 보통 자바 의 기본 유형 입 니 다.폼 필드 는 Action 의 속성 과 직접 대응 합 니 다.
둘째, model Driven 인 터 페 이 스 는 action 에서 User 대상 을 직접 얻 을 수 있 고 Object getModel () 에서 얻 은 User 를 ValueStack 에 넣 을 수 있 습 니 다.이 User 의 속성 을 Action 에 추가 하 는 것 으로 이해 할 수 있다.그것 은 주로 Struts 와 유사 한 FormBean 기능 을 실현 하 는 역할 을 한다.
struts 2 에 서 는 영역 대상 을 직접 사용 하 는 방식 을 제공 합 니 다. 즉, action 이 com. opensymphony. xwork 2. Model Driven 인 터 페 이 스 를 실현 하 는 것 입 니 다. ModelDriven 은 응용 프로그램의 영역 대상 을 직접 조작 하여 웹 층 과 업무 층 에서 같은 대상 을 사용 할 수 있 도록 합 니 다.
Model Driven 인 터 페 이 스 는 방법 이 하나 밖 에 없어 요.
- public Object getModel() {
- return null;
- }
이 방법 은 사용자 가 입력 한 데 이 터 를 받 을 대상 모델 을 되 돌려 줍 니 다. 이 모델 대상 의 속성 은 (속성 명) userName 을 통 해 직접 접근 할 수 있 습 니 다. (대상 명, 속성 명) user. userName 이라는 형식 으로 접근 할 필요 가 없습니다. action 에서 도 대상 에 게 getter 와 setter 방법 을 제공 할 필요 가 없 지만 action 에서 new 작업 을 해 야 합 니 다.
아래 와 같다
- // ModelDriven
-
- public class LoginAction extends ActionSupport implements ModelDriven<User>{
-
- // new
- private User user=new User();
- public String login() throws Exception {
- // TODO Auto-generated method stub
- return SUCCESS;
- }
-
- //
-
- @Override
- public User getModel() {
- // TODO Auto-generated method stub
-
- // ,
- return user;
- }
- }
-
이렇게 Model Driven 이 완성 되 었 습 니 다.
속성 구동 액 션 과 큰 차이 가 있 습 니 다. 아래 에 열거 하 겠 습 니 다.
(1) 모델 이 구동 하 는 Action 은 반드시 ModelDriven 인 터 페 이 스 를 실현 해 야 하고 해당 하 는 범 형 을 제공 해 야 한다. 여 기 는 당연히 구체 적 으로 사용 하 는 자바 빈 이다.
(2) Model Driven 을 실현 하 는 getModel 방법 은 간단 한 범 형 으로 돌아 가 는 대상 이다.
(3) Action 에서 일반적인 개인 대상 을 제공 합 니 다. 여 기 는 사용자 의 user 대상 을 정의 하고 해당 하 는 getter 와 setter 를 제공 합 니 다.
자, 위의 세 가지 일 을 다 한 후에 Action 은 User 의 setter 를 자동 으로 호출 하여 폼 의 name 속성의 값 을 User 의 속성 에 부여 합 니 다.Action 의 후속 처 리 된 Jsp 페이지 후 자 는 Servlet 이면 user 대상 을 사용 할 수 있다.
도대체 속성 구동 과 모델 구동 인가요?
이 문 제 는 많은 Struts 2 의 초보 자 들 을 괴 롭 혔 습 니 다. 제 가 제안 을 드 리 겠 습 니 다.
(1) 전체 시스템 에서 Action 이 사용 하 는 구동 모델 을 통일 하 십시오. 즉, 모두 속성 으로 구동 하거나 모두 모델 로 구동 합 니 다.
(2) DB 의 지구 층 대상 과 폼 의 속성 이 일일이 대응 된다 면 모델 로 구동 하 세 요. 코드 가 훨씬 깔끔 해 보 여요.
(3) 폼 의 속성 이 일일이 대응 하지 않 는 다 면 속성 구동 을 사용 해 야 합 니 다. 그렇지 않 으 면 시스템 은 두 개의 Bean 을 제공 해 야 합 니 다. 하 나 는 폼 이 제출 한 데이터 이 고 다른 하 나 는 지구 층 을 사용 해 야 합 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
apache struts2 취약점 검증이번에는 보안 캠프의 과제였던 apache struts2의 취약성에 대해 실제로 손을 움직여 실행해 보고 싶습니다. 환경 VirtualBox에서 브리지 어댑터 사용 호스트:macOS 10.12 게스트:ubuntu 1...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.