모델 개체의 필드에 바인딩 된 텍스트 필드 입력을 포함하는 양식이 있습니다. 사용자가 텍스트 필드에 데이터를 입력하면 계산을 기반으로 양식 내의 여러 다른 필드/구성 요소에 영향을 줄 수 있습니다. 내 비즈니스 로직은 서비스 계층에 캡슐화됩니다.모델 변경/재 렌더링을 사용하여 뷰를 동기화하는 방법
이론적으로 이것이 작동하도록하는 방법은 사용자가 필드를 업데이트 할 때 서비스의 논리가 적용되고 영향을받는 모든 필드가 모델에서 업데이트되는 서버 (keypress)에 대한 ajax 호출이 수행된다는 것입니다. 목적. 모델이 서버에서 업데이트되면 모델 객체의 현재 상태를 화면에 동기화하려고합니다.
전체 화면을 새로 고치는 유일한 방법은 무엇입니까? 변경된 모델의 필드에 바인딩 된 구성 요소 만 다시 렌더링하는 방법이 있습니까? 또한 화면을 새로 고치면 편집중인 필드도 업데이트됩니다.이 방법을 제외 할 수 있습니까?
이 기술에 대한 모범 사례에 관심이 있습니다.
덕분에 당신은 그냥 마크 업 ID (Component.setOutputMarkupId(true)
)를 가지고 있는지 확인, 원하는 구성 요소를 업데이트 할 수 있습니다 아약스와 함께
AJAX 응답 콜백에서 호출되는 Javascript를 사용하여 필드를 업데이트하는 것이 가장 좋습니다. – tsolakp