2016-08-16 8 views
2

私はクライアントの要求によりBootsFacesを使い始めました。これらのボタンのb:dataTable内のcommandButtonはアクションメソッドを起動しません

<h:form id="form" prependId="false"> 

    <b:dataTable id="dtEmpresas" value="#{recController.empresas}" var="e" searching="false" striped="true" 
      styleClass="tabela" customLangUrl="../resources/js/lang-pt-br.json" paginated="false" pageLength="6" > 

     <b:dataTableColumn header-style-class="hidden" styleClass="col-md-4"> 
      <b:selectOneMenu id="congenere" value="#{e.congenere.id}"> 
      <!-- required="true" requiredMessage="Congenere é obrigatório"> --> 
       <f:selectItem noSelectionOption="true" itemLabel="[Selecione...]" 
        itemValue="#{null}" /> 
       <f:selectItems value="#{recController.congeneres}" var="c" 
        itemLabel="#{c.nome}" itemValue="#{c.id}" /> 
      </b:selectOneMenu> 
     </b:dataTableColumn> 
     <b:dataTableColumn styleClass="col-md-4" header-style-class="hidden"> 
      <b:inputText id="nomeEmpresa" value="#{e.nomeEmpresa}" size="50" disabled="#{!e.ehOutros()}" /> 
     </b:dataTableColumn> 
     <b:dataTableColumn styleClass="col-md-4" header-style-class="hidden"> 
      <b:row> 
       <b:column styleClass="col-md-10"> 
        <b:inputText value="#{e.cnpj}" size="50" required="false" 
         validatorMessage="CNPJ invalido 21" placeholder="CNPJ Recolhimento"> 
         <f:validator validatorId="cnpjValidador" /> 
        </b:inputText> 
       </b:column> 
       <ui:debug hotkey="j" /> 
       <b:commandButton value=" - " action="#{recController.removeItem(e)}" update="dtEmpresas" /> 
       <b:commandButton id="btAdd" value=" + " action="#{recController.addItem()}" 
        update="dtEmpresas" process="dtEmpresas" /> 
      </b:row> 
     </b:dataTableColumn> 

    </b:dataTable> 

なしBeanをバックに自分の方法を発射しない:

は、ここに私のXHTMLです。しかし、私がdataTableの外に移動すると、うまく動作します。

ここDeltaspikeとWildFly 8上で実行されている、バック豆です:

@ViewScoped 
@ManagedBean 
public class RecController implements Serializable{ 

private static final long serialVersionUID = 1L; 

private List<EmpresaRecolheInss> empresas = new ArrayList<>(); 

@Inject 
private BaseDAO dao; 

@PostConstruct 
public void init(){ 
    congeneres = dao.listar(Congenere.class); 
    empresas.add(new EmpresaRecolheInss()); 
} 

public void salvar(){ 
    FacesMessage message = new FacesMessage(FacesMessage.SEVERITY_INFO, "Salvo", null); 
    FacesContext.getCurrentInstance().addMessage(null, message); 
} 

public void addItem(){ 
    empresas.add(new EmpresaRecolheInss()); 
} 

public void removeItem(Empresa eri){ 
    empresas.remove(eri); 
} 

任意のアイデア?

答えて

0

これは、先週末に修復したBootsFaces 0.9.1データテーブルのバグです。また、https://github.com/TheCoder4eu/BootsFaces-OSP/issues/486を参照してください。この不具合はBootsFaces 1.0で解決されます。それまでは、実稼働環境で使用されていないことがわかっている限り、BootsFaces-1.0.0デベロッパーのスナップショットをMaven Centralで使用することができます。 「スニークプレビュー」バージョンの取得方法については、https://github.com/TheCoder4eu/BootsFaces-OSP/issues/369を参照してください。

関連する問題