2016-06-22 3 views
0

SelectOneRadio 구성 요소를 통해 Java에서 메서드를 호출하려고하는데 아무 일도 일어나지 않습니다. 그러나이 구성 요소는 ENUM을 허용하기 위해 회사에서 만들어졌습니다.SelectOneRadio JSF에서 메서드 호출

구성 요소 :

<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>  

그리고 지금까지이 시도 :

<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> 
:

이 내 XHTML이다

는 그리고 이것은 자바에서 내 방법 :

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

답변

0

당신의 XHTML에서 <campo:radio>가 누락의 일부. 너는 그것을 편집 할 수 있니? 웹 브라우저 콘솔에 오류가 있습니까?

아마 당신의 selectOneRadio에 onclick="this.form.submit();"을 추가하는 것이 도움이 될 것입니다.

ajax 호출을 고집하지 않으려면 valueChangeListener을 사용하는 것이 좋습니다.

편집 : change 이벤트를 click 이벤트로 변경하십시오. 나는 이것이 할 것이라고 생각한다. ...

+0

여기에서 일하지 않았다. .. 그러나 당신에게 감사한다 대답 :) –