2 つの managedBean があります。最初の Bean (RequestScoped) は、ah:commandLink を介して 2 番目の Bean (ViewScoped) にパラメーターを送信します。両方の managedBean は同じページにありますが、rich:TabPanel とは別のタブで使用しています。
@ManagedBean
@RequestScoped
public class TheRequestScopedManagedBean {
private String number
...
@ManagedBean
@ViewScoped
public class TheViewScopedManagedBean {
private String number;
...
Rich:dataTable を使用するビューは次のとおりです (アクション メソッドは、rich:tabPanel から 2 番目のタブを表示するためだけのものです)。
// ... another dataTable's columns
<rich:column>
<f:facet name="header">Number</f:facet>
<b>
<a4j:commandLink value="#{theRequestScopedManagedBean.number}"
render="someRichPanel" action="#{anotherBean.showSecondTab}" immediate="true">
<f:setPropertyActionListener target="#{theViewScopedManagedBean.number}" value="#{theRequestScopedManagedBean.number}" />
</a4j:commandLink>
</b>
</rich:column>
ここでの問題は、theViewScopedBean が値を最初にのみ表示し、再度渡そうとするとデフォルト値 (null) が表示されることです。
このウェブサイトでいくつかの質問を見てきました。しかし、私はこの場合何をすべきか本当にわかりません。