나는 개찰구입니다. 이것은 Wicket 라이프 사이클에 대한 나의 무지 일 수 있으므로 저를 계몽하십시오! 내 이해 Wicket WebPage 개체를 한 번 인스턴스화 한 다음 serialize됩니다. 이것은 나를 위해 혼란의 지점으로 이끌었습니다, 아래를보십시오.개찰 : 구성 요소를 추가 할 위치는 어디입니까? 건설자? 아니면 BeforeRender?
현재 서브 클래 싱하려는 템플릿 클래스가 있습니다.
이protected void onBeforeRender() {
add(new Label("title", getTitle()));
super.onBeforeRender();
}
protected String getTitle() {
return "template";
}
서브 클래스 :
protected String getTitle() {
return "Home";
}
이 아주 잘 작동 나는 하위 클래스에서 템플릿의 동작을 재정의하는 방법을 보여 개찰구 워드 프로세서의 예를 따랐다. 나에게 명확하지 않은 점은이를위한 "우수 사례"입니다. onBeforeRender()가 페이지에 대한 모든 요청에서 호출 된 것 같습니다. 그렇지 않습니다. 모든 것이 onBeforeRender()에 있으면 페이지에서 수행되는 처리가 훨씬 더 많아지는 것 같습니다. 다른 Wicket 예제의 예제를 쉽게 따라 할 수 있으며 생성자에서 내가 겹쳐 쓰고 싶지 않은 몇 가지 구성 요소를 추가 할 수 있습니다. 그런 다음 구성 요소 로직을 두 곳으로 나눠서 주저합니다.
모든 하위 클래스에 포함하려는 구성 요소를 추가하는 경우 생성자 또는 onBeforeRender()에 추가해야합니까?
감사합니다. 그러나 둘을 섞어서 사용할 수 없다면 템플릿 동작을 재정의 할 때 권장되는 방법은 무엇입니까? 생성자에서 오버라이드 된 메소드를 호출하는 것은 나쁜 습관입니다. – gmallett
그러면 예외가 될 것입니다 :-) – Eelco