2010-05-18 2 views
0

모든 아약스 포스트 백스 응답 (PartialViewContext.isAjaxRequest == true)에 일부 자바 스크립트를 추가 할 수 있어야하지만 어떤 구현을 시도해도 성공하지 못합니다.JSF 2 Scriptmanager 스타일 기능

나는

PhaseListener 

을 구현하고 평가 블록을 추가 할 PartialResponseWriter.insert *를 사용하여 내 스크립트를 추가뿐만 아니라, 스크립트 요소를 생성하여 스크립트를 추가하려고 노력했다. 랩 인스턴스를 처리 한 후 나는

PartialViewContext.processPartial 

을 무시하고 스크립트를 추가하는 장식 PartialViewContextFactory 시도

(CDATA의 결과 수 없습니다 둥지하거나 유효하지 않은 XML) ...

방법 Ajax 응답에 스크립트를 추가해야합니까? Scriptmanager.registerClientScriptBlock을 사용하면 .NET과 비슷한 점이 바람직합니다.

답변

0

(사양에서 요구하는) 당신의 JSF2 구현에 번들로 자바 스크립트 라이브러리를 사용하여 감사드립니다. 다음은 API 문서는 다음과 같습니다

이 기능은 기존의 자바 스크립트 함수에 대한 참조를 수용해야합니다

http://java.sun.com/javaee/javaserverfaces/2.0/docs/js-api/index.html

jsf.ajax.addOnEvent는 "모든 AJAX 포스트 백 응답에 약간의 자바 스크립트를 추가"의 문제를 해결합니다. JavaScript 함수 참조를 콜백 목록에 추가해야 jsf.ajax.addOnEvent를 두 번 이상 호출하여 둘 이상의 콜백을 등록 할 수 있습니다.

+0

응답 해 주셔서 감사합니다.하지만 서버에 대한 모든 포스트 백이 JSF 클라이언트 라이브러리 코드를 통과하고 클라이언트 코드에 액세스 할 수있는 경우에만 해당 제안이 작동합니다. 저는 ScriptManager로 .NET 플랫폼에서 사용할 수있는 것과 유사한 접근 방식으로 서버 측에서 솔루션을 찾고 있습니다. – CDSO1