2013-07-28 2 views
2

XPage의 이벤트 (예 : Button onClick())에 작업 그룹을 추가 할 때 이전 작업 결과에 따라 후속 작업을 수행해야하는지 제어 할 수있는 메커니즘이 있습니까?여러 작업 실행

답변

4

임의의 동작에서 false을 반환하면 나머지 시퀀스가 ​​자동으로 취소됩니다.

+0

"Execute Script"다음에 "Save Document"가 있습니다. querySaveDocument 이벤트는 SSJS에서 반환 한 것과 관계없이 시작됩니다. "문서 저장"을 제거하면 이벤트가 시작되지 않습니다. 저장을 취소 할 수있는 방법을 찾지 못했습니다. SSJS에서 저장하면 이벤트가 실행되지 않으므로 "문서 저장"작업을 사용해야합니다. –

+0

이 스 니펫에 의해 해결 : https://openntf.org/XSnippets.nsf/snippet.xsp?id=save-datasource-fire-querysavepostsave-events –

1

이벤트 탭에서 액션 그룹을 선택하고 '편집'버튼을 눌러 액션 그룹을 편집 할 수 있습니다. 그런 다음 조건부 코드 (서버 측 JavaScript, 표현식 언어 또는 사용자 지정)를 작업 그룹에 추가하십시오.

조치 그룹 조치는 조건이 true 일 때 간단한 조치 그룹을 실행합니다.

0

논리를 Java 코드로 캡슐화하고 단일 메소드를 호출하여 조치를 실행하는 것이 가장 좋습니다.

그룹과 함께 사용하려면 requestScope 변수를 설정/읽는 옵션이 있으며 값에 따라 이벤트 처리기를 분기하십시오. 권장하지 않습니다.

+0

시나리오는 bean에서 메소드를 호출 한 후 간단한 조치로 이동하는 것을 포함합니다 모바일 애플리케이션 페이지로 이동합니다. 경험에 의하면 단순한 동작 이외의 다른 방법으로 MoveTo를 구현하지 않으면 원하지 않는 부작용이 발생할 수 있습니다. –

+0

Java 메소드의 반환 값이 그렇게 쓰는 경우에만 마지막 명령문을 실행할 수 있습니다. –

+0

그리고 경험에 따르면 간단한 행동은 자바 코드에 불과합니다. ExtLib 소스를 살펴보면 간단한 액션 뒤에 무엇이 있는지 ... –