2016-06-22 2 views
0

JavaのメソッドをSelectOneRadioコンポーネントから呼び出そうとしていますが、何も起こりません。しかし、このコンポーネントは私の会社がENUMを受け入れるために作成したものです。SelectOneRadio JSFのメソッドを呼び出す

COMPONENT:

<composite:interface> 
<composite:attribute name="label" /> 
<composite:attribute name="value" /> 
<composite:attribute name="converter" /> 
<composite:attribute name="lista" /> 
<composite:attribute name="enumClass" /> 
<composite:attribute name="id" default="campo"/> 
<composite:attribute name="columns" default="1"/> 
<composite:attribute name="required" default="false"/> 
<composite:attribute name="disabled" default="false"/> 
<composite:attribute name="tamanhoTotal" default="12"/> 
<composite:attribute name="tamanho" default="10"/> 
<composite:attribute name="tamanhoLabel"/> 
<composite:attribute name="layout" default="lineDirection"/> 

<composite:clientBehavior name="change" event= "change" targets = "campo"/> 

<composite:implementation> 
     <p:selectOneRadio id="#{cc.attrs.id}" 
          value="#{cc.attrs.value}" 
          disabled="#{cc.attrs.disabled}" 
          columns="#{cc.attrs.columns}" 
          layout="#{cc.attrs.layout}" 
          required="#{cc.attrs.required}" 
          label="#{cc.attrs.label}" 
          converter="#{cc.attrs.converter}" 
          requiredMessage="#{cc.attrs.label} : Campo obrigatório"> 
      <f:selectItems value="#{referenciaMap[cc.attrs.enumClass]}"/> 
     </p:selectOneRadio>  

そして今までにこれを試してみてください。

これは私のXHTMLです:

<campo:radio enumClass="StatusTituloEnum" 
                  label="Situação" tamanho="1" tamanhoTotal="1" 
                  columns="1" layout="grid" 
                  disabled="#{!recTituloCriteria.disableRadioStatus}" 
                  converter="#{StatusTituloConverterById}"> 
                  <p:ajax event="change" process="@this" 
                    update=":form:idTabela" listener="#{recTituloCriteria.handleKeyEvent}" /> 
                 </campo:radio> 

そして、このJAVAの私の方法です:

public void handleKeyEvent() { 
    //text = text.toUpperCase(); 
    System.out.println("hi"); 
} 

答えて

0

XHTMLでのご<campo:radio>の一部が欠落しています。あなたはそれを編集していただけますか? ウェブブラウザのコンソールにエラーがありますか?

おそらく、onclick="this.form.submit();"をあなたのselectOneRadioに追加することをお勧めします。

もう1つの方法は、ajax呼び出しを主張しない場合はvalueChangeListenerを使用することです。

EDIT:changeイベントをclickイベントに変更してみてください。私はこれが行うと思う...

+0

ここでは動作しませんでした...しかし、あなたのために答える:) –

関連する問題