Struts 2 제9 part Model Driven 을 통 해 인 자 를 받 습 니 다.

4669 단어 struts2
2013 년 3 월 1 일 설날 잘 보 내세 요
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 인 터 페 이 스 는 방법 이 하나 밖 에 없어 요.

  
  
  
  
  1. public Object getModel() {  
  2.      return null;  

이 방법 은 사용자 가 입력 한 데 이 터 를 받 을 대상 모델 을 되 돌려 줍 니 다. 이 모델 대상 의 속성 은 (속성 명) userName 을 통 해 직접 접근 할 수 있 습 니 다. (대상 명, 속성 명) user. userName 이라는 형식 으로 접근 할 필요 가 없습니다. action 에서 도 대상 에 게 getter 와 setter 방법 을 제공 할 필요 가 없 지만 action 에서 new 작업 을 해 야 합 니 다.
아래 와 같다

  
  
  
  
  1. // ModelDriven  
  2.  
  3. public class LoginAction extends ActionSupport implements ModelDriven<User>{  
  4.  
  5. // new  
  6. private User user=new User();  
  7. public String login() throws Exception {  
  8. // TODO Auto-generated method stub   
  9. return SUCCESS;  
  10. }  
  11.  
  12. //  
  13.  
  14. @Override 
  15. public User getModel() {  
  16. // TODO Auto-generated method stub  
  17.  
  18. // ,  
  19. return user;  
  20. }  
  21. }  
  22.  

이렇게 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 을 제공 해 야 합 니 다. 하 나 는 폼 이 제출 한 데이터 이 고 다른 하 나 는 지구 층 을 사용 해 야 합 니 다.
 

좋은 웹페이지 즐겨찾기