2012-04-05 2 views
1

MVP가있는 GWT의 양식 제출에 대한 모범 사례를 찾고 있습니다.모범 사례 - 데이터 제출 GWT MVP

내 응용 프로그램에서는 간단한 from이 렌더링되는 대화 상자가 열립니다. '확인'버튼을 클릭하면 요소 값을 읽고 값 개체에 할당합니다. 이 객체는 새 장소에 추가됩니다.

보기 :

onOkButtonClicked(event){ 
     // read values from dialog box elements 
     // assign the values to ValueObject(name, number, address) 
     presenter.goto(new ListRecordPlace("list","addrecord", valueObject); 
    } 

활동 :

ListRecordActivity(ListRecordPlace place, eventBus){ 
    this.place = place; 
} 

start(...){ 
    if(this.place.getAction().equals("addrecord")){ 
     // RPC call to add the new record: this.place.getNewRecord(); 
     // RPC returns list of records 
     view.setRecordList(); 
     container.setWidget(view.asWidget()); 
    } 
} 

이 MVP 활동 및 환경과 서버에 데이터를 제출하는 올바른 방법인가?

+0

GWT 장소에 대한 'google-places-api' 태그 사용을 중단하십시오. https://developers.google.com/maps/documentation/places/ –

답변

0

MVP을 사용하고 있으므로 RPC 서비스에 대한 호출이 발표자에서 수행되어야합니다. 보기에서

OK 클릭 ->보기 : 발표자 전화 (presenter.okClicked을()) ->발표자 : - : 성공적인 저장 한 후>발표자을 업데이트 가치와 RPC 서비스를 호출 저장합니다 다른 곳으로 가라.

다음 장소로 이동할 때 장소 개체를 사용하여 데이터를 전송하면 안됩니다. 새 장소 처리 책임자는 데이터 업데이트 및 표시를 처리해야합니다.

+0

확인. 나는 이것을 이해하려고 노력하고있다. GWT 디자이너가 goto (장소 배치) 방법으로 발표자를 만듭니다. 내 View가 presenter.okClicked()를 호출하면; 나는이 방법이 어떤 주장도 취할 필요가 없다고 가정한다. okClicked() 메소드는 View.getName(), view.getNumber() 및 view.getAddress()를 읽습니다. 그런 다음 RPC를 호출하십시오. 그런 다음 clientFactory.getPlaceController.goto (새 RecordListPlace())를 누릅니다. 왜 presenter.goto에는 장소 논증이 있습니까? 귀중한 의견에 감사드립니다. – sreehari

+0

더 많은 것을 이해하려고합니다. Activity.addRecord()는 뷰에서 값을 읽고 RPC로 하여금 새 레코드를 추가하도록합니다. 그런 다음 RecordListPlace로갑니다. 활동의 시작 (...) 메소드가 호출되어 다른 RPC가 서버의 레코드 목록을 가져옵니다. 이전의 addRecord()가 추가 된 후에 업데이트 된 목록을 반환했다면, 두 번째 RPC는 단순히 낭비입니다. 나는 여기에 의미가 있다고 생각한다. – sreehari

+0

이것은 또 다른 문제이며, 그 중 하나에 대한 해답은 목록 활동이 서버에 실제로 문의 할 필요가 없도록 일부 캐싱을 사용하는 것입니다. –

0

Place은 (그 이름에서 알 수 있듯이) 그것은 위치의, 행동 없습니다.

아니, 그것은 절대적으로 입니다. 일을하는 방법은입니다. OK 버튼이 클릭되면서 RPC를 수행해야하고 다음 만 레코드가 표시되는 ListRecordPlace으로 이동하십시오.

+0

이것은 GWT에서 처음 시도한 것입니다. 그래서 나는 이것에 대해 매우 혼란스러워합니다. 제 간단한 양식 제출 시나리오에 대한 코드 스 니펫을 제공해 주시겠습니까? – sreehari

+0

어디서 양식 값을 읽어야합니까? - ActivityMapper 또는 Activity에서? 내 RPC는 어디에서해야합니까? - 활동 맵퍼 또는 활동에서? 또는 발표자가 필요합니까? 나는 활동이 발표자와 같다고 생각했다. 또는 발표자에서 메서드를 정의해야 할 수도 있습니다 - 예를 들어 addRecord (parameters ....). 이 메소드는 RPC를 수행 한 다음 ListRecordPlace로 이동합니다. 이걸 도와주세요. – sreehari

+0

예, 그렇게하십시오! (귀하의 활동을 발표자로 함) –