0

编辑:现在使用 JSF 范围和 JSF managedbean 而不是 CDI,因为无论 RequestScoped、ConversationScoped 还是 SessionScoped,它都不适用于 CDI bean。

我正在尝试将参数传递给 bean 上的函数,如下所示:

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

但是,仅当我使 bean ViewScoped 时才调用更新函数,而不是在 RequestScoped 时调用。使用 ViewScoped 目前似乎不起作用,但我想知道至少使用 ViewScoped 是否是在操作中的 EL 调用中传递参数的要求,或者 RequestScoped 应该工作并且还有其他事情发生。

这是在 glassfish 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