2014-01-27 2 views
1

Wicket 6에서 작업하고 있습니다. 내 페이지에는 HTML에서 타사 라이브러리에 대한 자바 스크립트 참조가 포함되어 있습니다. JavaScriptHeaderItem을 통해 사용자 정의 컴포넌트의 Behavior 클래스에서 renderHead에 포함시키는 추가 표준 utils 블록이 있습니다.Wicket 6 : 본문의 스크립트 태그에 인라인 자바 스크립트를 작성하십시오.

이제 동일한 구성 요소가 포함 된 메소드에서 메소드를 호출하기 위해 특정 자바 스크립트 코드를 작성해야합니다. 문제는 해당 포함 내의 간단한 변수가로드되기 전에 코드가 실행되고 있다는 것입니다. Wicket은 헤더에 제 3 자 라이브러리를 위 둘 다 넣습니다.

본문 내의 태그에 코드를 렌더링하여 코드가 실행되기 전에 둘 다로드되었는지 확인하려고합니다. 타사 라이브러리에는 DomReady 이벤트가 있지만 최소한 기본 변수를 정의해야합니다.

필자는 FilteringHeaderResponse 또는 HeaderResponseContainer를 사용하는 것이 목적이지만, 예제/javadocs는 분명하지 않습니다. 내 인라인 자바 스크립트는 다음과 같아야한다고 가정 해 보겠습니다.

String js = "alert ('Hello'"+ userName + ");";

from java. 그것은 복잡하지 않지만, 그렇다면 FormComponentPanel에서이 인라인 자바 스크립트를 어떻게 렌더링 할 수 있습니까? 그리고 어떻게 커스텀 js를 동적으로 포함 할 수 있습니까? 그러나 헤더에서 제 3 자 js를 아래로 렌더링하지만, 인라인 스크립트를 실행하기 전에 어떻게해야합니까?

답변

1

을 나는 사용하여 종료 :

response.render (OnDomReadyHeaderItem.forScript (writeGridJS을()));

0

js를 my.js와 같은 파일에 넣고 ResourceReference으로 만듭니다. 그런 다음 코드가 의존하는 라이브러리를 ResourceReference에 추가합니다. 여기 당신이 두 개의 좋은 링크를 가지고 :

http://wicketinaction.com/2012/07/wicket-6-resource-management/

http://wicket.apache.org/guide/guide/chapter14.html#chapter14_5

+0

JS가 매우 동적이기 때문에 실제로 실행 가능하지 않습니다. 파일에 정적 항목이 있습니다. – user1187719

관련 문제