2

Ajaxを介してページを更新しようとしています。ボタンをクリックして、ページにカウンターを印刷します。

次のコードは、Tomcat7でJSF2.0 mojarraを使用してデプロイした場合に機能します。JDeveloper11gから組み込みのWeblogicサーバーにデプロイした場合は、機能しません。count変数はインクリメントされますが、ADFを使用するたびにページがリロードされます。

バッキングビーン:

import javax.faces.bean.*;
import javax.faces.event.ActionEvent;

@ManagedBean(name="countBean")   
@SessionScoped
public class CountBean {
    Integer count=1;
    public void incrementCount(ActionEvent event) {
        ++count;
    }
    public Integer getCount() { return count;}
    public void setCount(Integer count) {   this.count = count; }           
}

JSFページ:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
      xmlns:h="http://java.sun.com/jsf/html"
      xmlns:f="http://java.sun.com/jsf/core">
<h:head><title>Ajax commandButton test</title></h:head>
<h:body>
<h3>Ajax count</h3>
<h:form>
<h:commandButton id="cb" value="Increment count" 
   actionListener="#{countBean.incrementCount}">
    <f:ajax event="click" execute="cb" render="ot" />
</h:commandButton>
<br/><br/>
Counter = <h:outputText id="ot" value="#{countBean.count}"/>
</h:form>
</h:body>
</html>
4

1 に答える 1

0

私は自分で答えを見つけました:

<af:commandButton text="increment count" id="cb1" actionListener="#{countBean.incrementCount}" partialSubmit="true"/>

Counter = <af:outputText id="ot" value="#{countBean.count}" partialTriggers="cb1"/>
于 2011-11-21T12:47:38.710 に答える