私は持っている
<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 コンポーネントをインスタンス化できませんでした: テーブル。
ブーがリストにあるかどうか、およびレンダリングボタンが真の場合は、テーブルのレンダリング時にチェックする必要があります。次に、ボタンが表示されたら、クリックしたIDを確認し、このIDでデータをリロードしてモーダルを開く必要があります。table という名前のコンポーネントはありません。それはdataTableのものだけです。h:CommandButton
動作しますが、モーダルは 2 回目のクローズ後にモーダルのデータをリロードしません。