質問

ICEPUSHでアイスフェイスを使用してブラウザにデータを押します。

しかし、計画のようには機能しません.Ajaxはありません。

私は最新の氷河と氷水のバージョンとTomahawk 7とJSF 2を使っています2.

サーブレット2.5もサーブレット3.0でも動作しません。

これらは私のBeanの重要な部分です(ビュースコープ):

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ファイルでアプリケーションを試しましたか?

他のヒント

ICEFACES 1.8に精通しているだけですが、私がコマンドボタンが有効になっていないようです。Action

の代わりに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>
.

コードを検証できる開発ツールはいくつかありますか?少なくともBaadinバージョンのICEPUSHでは、それらの例を信頼できませんでした。彼らの公式デモでは、脱程と彼らのチャットで彼らが輸入が正しいものと他の惑星からのコードを与えたコードを与えました。

私のEclipseは、多くの輸入が間違っていて、コードがいくつかの機能に推奨されないマークを付けました。これらの人たちはそこで彼らの文書が恒久的に時代遅れであることを速く展開します。だから、あなたのツールがコードについて言うことを慎重に読む!

私は、既にRichFacesを使用するアプリでICEFACESの統合(プッシュを使用する)の統合に関する問題もあります。しかし、ICEPUSHをほぼ任意のJava-Webアプリケーション(サーブレットAPI付)で直接統合することは可能です。 あなたは HTTPの詳細を見ることができます:// achorniy。 Wordpress.com/2012/02/29/29/29/29/29/29/29/29-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要求を実行します。あなたの場合(JSF-2.0)私はあなたが欲しいものを更新するためにjsf.ajax.request(this, event, {render:'ajaxTestTable'})を呼び出すことができると思います(例 http://andyschwartz.wordpress.com/2009/07/31/whats-new-in-jsf--

サーバーサイドでする必要があります。 - ICEPUSHサーブレットを登録し、JavaScript APIを使用してクライアント側でICEPUSH接続を初期化することです。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top