Tapestry에서 사용자가 페이지 A에서 페이지 B로 리디렉션되는 경우가 있습니다. 페이지 B가 표시되기 전에 때로는 페이지 C로 리디렉션되는 경우가 있습니다. 이 페이지에 나타나는 이와 같은 빨간색 팝업으로 표시 자바 스크립트 예외를 다음과 같은 결과 : 널 (null)로 나열태피스 트리의 자바 스크립트 예외 숨기기
Exception invoking function Tapestry.Initializer.activate with parameters ["example"]: TypeError: $(...) is null
모든 요소가 페이지에서 내가 원하지 않는 B, 또는 표시하는 의도에서입니다. 이 시나리오에서는 페이지 A에서 페이지 C로 사용자를 직접 리디렉션 할 수 없습니다.
나 자신이 자바 스크립트 예외를 처리하거나 페이지를 숨기지 않고 페이지간에 리디렉션 할 수있는 적절한 태피스 트리 기법을 숨기려면 태피스 트리를 사용해야합니다. 현재 @AfterRender 함수에서 리디렉션 코드를 시작하여 사용자 이동 물마루 페이지를 시뮬레이트하고 있습니다.
편집 : 사용자를 클릭 한 후 1 페이지에
아래의 코드의 관련 부분을 추가했습니다 정말 UserDataPage는이 작업을 수행 세부 사항을 편집 할 필요가 있기 때문에 나는 사용자 페이지
@InjectPage
UserDataPage userDataPage;
@OnEvent(value = EventConstants.ACTION, component = "modify")
Object onModify(Long userToEdit) {
userDataPage.setUserId(userToEdit);
userDataPage.setEditDetails(true);
return userDataPage;
}
에 그를 재 수정 :
@InjectPage
UserDetailsPage userDetailsPage;
@AfterRender
Object setup() {
if(editDetails) {
userDetailsPage.setUserId(userToEdit);
return userDetailsPage;
}
}
가 (난 더 이상 UserDataPage에 아니에요 때문에, 분명히) 누락 UserDataPage에서 구성 요소에 대한 오류를 표시 UserDetailsPage가로드됩니다. 방화 광에서 스크립트에는 UserDataPage와 UserDetailsPage의 모든 요소가 포함되어 있습니다. 예를 들어 두 페이지 모두에 그리드 요소가 있으므로 결과로 생성 된 태피스 트리 스크립트는 그리드를 참조하고 자동으로 grid_0로 이름이 변경됩니다. 그런 다음 UserDataPage에서 그리드가 누락되었다는 오류가 발생합니다.
사용자 목록 (첫 번째 페이지)에서 UserDetailsPage로 직접 이동할 수 없습니다. UserDetailsPage는 UserDataPage에서 오는 리디렉션을 요구합니다. 그 요구 사항을 없애는 것은 허용되지 않습니다.
항상 문제가 발생한 코드의 관련 부분을 게시 할 수 있습니다.구두 설명만으로는 사물을 막연하게 해석 할 수 있습니다. –
자네가 가면, 나는 그것이 일을 깨끗이하기를 바란다. – Areinu
왜'''UserDetailsPage''' 인스턴스를 페이지 1에서 돌려 보내지 않으십니까? 왜'''UserDataPage'''를 리턴 한 다음'''UserDataPage.setup()'''에서'''UserDetailsPage''로 리디렉션합니까? 두 번 리디렉션하는 것은 의미가 없습니다. –