在EL动作中传递参数不适用于RequestScoped bean

时间:2013-05-13 09:07:30

标签: jsf-2 java-ee-6 glassfish-3 el

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

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

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

但是,如果我将bean设置为ViewScoped,而不是在RequestScoped时,则仅调用update函数。使用ViewScoped似乎暂时不起作用,但我想知道至少使用ViewScoped是否需要在动作中调用EL调用中的参数,或者RequestScoped应该有效还有其他事情发生。

这是关于glassfish 3.1.2.2

bean看起来像这样

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";
    }
}

0 个答案:

没有答案