1

Openfaces 3 を使用して Bean で Save メソッドを呼び出そうとしています。Firefox はページをレンダリングしていませんが、Internet Explorer はレンダリングしています。

私は現在、このコード行を使用しています:

<o:commandLink value="Save" action="#{beanX.save}">
  <h:graphicImage url="/images/save_48.png" />
</o:commandLink>

しかし、私も試しo:ajaxていました:

<o:commandLink value="Save" action="#{beanX.save}">
  <h:graphicImage url="/images/save_48.png" />
  <o:ajax event="click" render="@none" />
</o:commandLink>

何か案は?


標準の JSF コンポーネントを使用して対処する方法を見つけました。この問題を解決する方法はありo:commandLinkますか?

4

2 に答える 2

1

JigarJoshiありがとうございます。あなたは私に重要なヒントを与えてくれました。次のコード行で機能します。

<h:commandLink value="Save">
  <h:graphicImage url="/images/save_48.png" />
  <f:ajax event="click" render="@none" listener="#{beanX.save}" />
</h:commandLink>

私は以前にこのウェブサイトに行ったことo:commandLinkがありますが、これを処理できない可能性があるとは考えていませんでしたが、バグである可能性がありますか?

h:commandLinkリスナー属性の代わりにo:commandLinkおよびリスナー属性を使用するとf:ajax、問題が解決しました。

于 2011-05-25T17:15:07.740 に答える
1

jsf2.0<f:ajax>で属性を使用できますrender

<h:form> 
      <h:inputText value="#{managedBean.val1}" > 
         <f:ajax event="keyup" render="result" listener="#{managedBean.someThingToDoListener}"/> 
      </h:inputText> 
      <h:inputText value="#{managedBean.val2}" > 
        <f:ajax event="keyup" render="result" listener="#{managedBean.someThingToDoListener}"/> 
      </h:inputText> 

      <h:outputText id="result" value="#{managedBean.result}"/>
</h:form>

@ManagedBean(name = "managedBean") 
public class Bean { 
   private String val1; // getter and setter 
   private String val2; // getter and setter 
   private String res; // getter and setter 
   ... 

   public void someThingToDoListener(AjaxBehaviorEvent event) { 
       //res = some processing
    }

}

こちらもご覧ください

于 2011-05-25T17:03:06.643 に答える