2016-09-20 8 views
0

Я имеюJSF значение +1,2 таблицы в качестве идентификатора для командной кнопки a4j

<h:column headerClass="details_header"> 
    <h:panelGroup rendered="#{foo.checkIffooIsAvailable(table.YooId)}"> 
     <h:form> 
      <h:inputHidden id="hiddenYooboo" value="#{table.YooId}" 
       binding="#{foo.hiddenInputValue}"/> 
      <a4j:commandButton styleClass="quickYooButton fooButton" 
       value="#{textElement.getText('foo')}" reRender="fooPanel" 
       action="#{foo.getFullfooAmount()}"> 
       <rich:componentControl for="fooPanel" event="oncomplete" 
        operation="show" /> 
      </a4j:commandButton> 
     </h:form> 
    </h:panelGroup> 
</h:column> 

И бэкенд

private Integer boo; 
private BigDecimal partialfoo; 
public List<Integer> fooTableYoos = new ArrayList<Integer>(); 
public UIInput hiddenInputValue;  

public Boolean checkIffooIsAvailable(Integer tableboo) { 
    Iterator<Integer> iter = fooTableYoos.iterator(); 
    while (iter.hasNext()) { 
     if (iter.next().compareTo(tableboo) == 0) { 
      return true; 
     } else { 
      return false; 
     } 
    } 
    return false; 
} 

public BigDecimal getFullfooAmount() { 
    BigDecimal fooAmount = null; 
    try { 
     fooAmount = new BigDecimal(100); 
     setFullfoo(fooAmount); 
    } catch (Exception e) { 
     log.error("getFullfooAmount()", e); 
    } 
    return fooAmount; 
} 
    public UIInput getHiddenInputValue() { 
    return hiddenInputValue; 
} 

public void setHiddenInputValue(UIInput hiddenInputValue) { 
    this.hiddenInputValue = hiddenInputValue; 
} 

Проблема заключается в том, что, когда я нажимаю на CommandButton я получаю ошибку:

Could not instantiate Seam component: table.

Мне нужно на рендеринге таблицы проверить, включен ли список boo и когда отображается кнопка рендеринга. Затем, когда у меня есть кнопка, мне нужно проверить, какой идентификатор я нажал, и открыть modal с перезагруженными данными этим идентификатором. Нет компонента с именем table. Couse это только dataTable. h:CommandButton работает, но модальный после второго закрывается и не перезагружает данные модального.

ответ

1

Решение изменило тип данныхТаблица для богатых: dataTable