문제

ICEPSH가있는 ICEPACES를 사용하여 일부 데이터를 브라우저로 밀어 넣습니다.

그러나 계획과 같이 작동하지 않습니다. AJAX는 아니며 다른 비 AJAX 조치와 마찬가지로 작업에서 작업을 호출하고 반환합니다.

나는 최신 아이스크림과 아이스 푸시 버전과 tomahawk 7 및 JSF 2.

를 사용하고 있습니다.

그것은 Servlet 2.5 나 서블릿 3.0과 함께 작동하지 않습니다.

이들은 내 bean의 중요한 부분 (Scoped) :

public AjaxTest() {
    PushRenderer.addCurrentSession(PUSH_GROUP);
}

    public void addText() throws InterruptedException {
    for(int i = 0; i < 5; i++) {
        lines.add("line " + i);
        PushRenderer.render(PUSH_GROUP);
        Thread.sleep(1000);                     
    }
}
.

이는 내 형식의 스 니펫입니다.

    <h:panelGroup>
        <h:dataTable id="ajaxTestTable" value="#{ajaxTest.lines}" var="line">
            <h:column>
                <h:outputText value="#{line}" />
            </h:column>
        </h:dataTable>
        <h:commandButton id="startAjax" value="Start"
            action="#{ajaxTest.addText}" />
    </h:panelGroup>
.

뭔가를 그리워 했습니까?감사합니다!

도움이 되었습니까?

해결책

IceFaces 2.0은 아직 MyFaces와 통합되지 않았습니다.포함 된 Mojarra .jar 파일로 응용 프로그램을 사용해 보셨습니까?

다른 팁

I IceFaces 1.8에 익숙하지만 명령 버튼이 Ajax가 활성화되어 있지 않습니다.액션 대신 ActionListener를 사용해야합니다

ICEFACES 명령 단추를 사용할 수 있습니다.

<ice:commandButton id="startAjax" value="Start" 
       actionListener="#{ajaxTest.addText}"/>
.

또는 JSF 2 Ajax 태그 :

<h:commandButton id="startAjax" value="Start">
    <f:ajax listener="#{ajaxTest.addText}"/>
</h:commandButton>
.

코드의 유효성을 검사 할 수있는 개발 도구가 있습니까?적어도 IcePush의 Vaadin 버전에서는 예제를 신뢰할 수 없었습니다.그들의 공식 데모에는 더 이상 사용되지 않는 코드와 채팅에 수입이 다른 행성에서 올바른 것들과 함께 있었던 코드를 제공했습니다.

내 Eclipse는 많은 수입이 잘못되었고 코드가 일부 기능에 대해 더 이상 사용되지 않는 것으로 알려졌습니다.이 녀석들은 문서가 영구적으로 데이트 할 수 있도록 너무 빨리 개발됩니다.그래서, 당신의 도구가 코드에 대해 조심스럽게 읽으십시오!

ICEFACES (푸시를 사용하기 위해)가 이미 RichFaces를 사용하는 앱과 통합하는 데 문제가 있습니다. 그러나 거의 모든 Java 웹 응용 프로그램 (Servlet API 포함)과 직접 IcePush를 통합 할 수 있습니다. http : // achorniy에 대한 자세한 내용을 볼 수 있습니다. WordPress.com/2012/02/29/icePush-integration-to-web-application/

아이디어는 IcePush가 제공하는 JavaScript-API (또는 jQuery-API)를 사용하는 것입니다. 따라서 JavaScript-API가있는 페이지는 알림과 콜백을 푸시하는 리스너로 등록하여 페이지를 업데이트하는 JavaScript 함수를 호출 할 수 있습니다. RichFaces 예제에서는 실제로 <a4j:jsFunction name="ajaxUpdateFunction" action="#{myBean.update} reRender="updatedComponent(s)" ajaxSingle="true"/>가 실제로 백업 한 AjaxupdateFunction ()을 사용할 수 있으며 jQuery로 Ajax-Request를 수행 할 수 있습니다. 귀하의 경우 (JSF-2.0) 나는 당신이 원하는 것을 업데이트하기 위해 jsf.ajax.request(this, event, {render:'ajaxTestTable'})를 호출 할 수 있다고 생각합니다 (예제 http://andyschwartz.wordpress.com/2009/07/31/whats-new-in-jsf-2/a>)

서버 측에서 수행 해야하는 것은 IcePush 서블릿을 등록하고 JavaScript API로 클라이언트 측에서 IcePush 연결을 초기화하는 것입니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top