我有
<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时出现错误:
无法实例化Seam组件:table。
我需要渲染表检查boo是否在列表中以及何时为真实渲染按钮。然后,当我有按钮时,我需要检查我点击了什么ID,并通过此ID重新加载数据打开模态。没有名为table的组件。 Couse它只是dataTable的东西。 h:CommandButton
有效,但是第二次关闭后的模态,不会重新加载模态数据。
答案 0 :(得分:1)
解决方案是将dataTable的类型更改为rich:dataTable