0

編集: RequestScoped、ConversationScoped、または SessionScoped に関係なく、CDI Bean では機能しないため、CDI の代わりに JSF スコープと JSF managedbean を使用します。

次のように、Bean の関数にパラメーターを渡そうとしています。

<h:commandButton action="#{bean.update(wp.nr)}" value="Update" />

ただし、更新関数は、Bean を ViewScoped にした場合にのみ呼び出され、RequestScoped の場合ではありません。ViewScoped の使用は今のところ機能していないようですが、少なくとも ViewScoped の使用がアクションの EL 呼び出しでパラメーターを渡すための要件であるかどうか、または RequestScoped が機能する必要があり、何か他のことが起こっているかどうかを知りたいです。

これはグラスフィッシュ3.1.2.2にあります

豆はこんな感じ

import javax.faces.bean.ManagedBean;
import javax.faces.bean.RequestScoped;

@ManagedBean(name="bean")
@RequestScoped
public class FiliaalBean implements Serializable {
    private static final Logger LOG = Logger.getLogger(FiliaalBean.class.getName());

    @Inject
    TestEJB testEjb;

    // Removed some data member and  getter and setters

    public String update(int wpnr) {
        LOG.info("TEST " + Integer.toString(wpnr));
        // TODO call testEjb
        return "view?faces-redirect=true&amp;includeViewParams=true";
    }
}
4

0 に答える 0