Jsf 2 在EL动作中传递参数不';不能使用RequestScoped bean

Jsf 2 在EL动作中传递参数不';不能使用RequestScoped bean,jsf-2,java-ee-6,glassfish-3,el,Jsf 2,Java Ee 6,Glassfish 3,El,编辑:使用JSF作用域now和JSF managedbean而不是CDI,因为无论请求作用域、会话作用域还是会话作用域,它都不能与CDI bean一起工作 我尝试将参数传递给bean上的函数,如下所示: <h:commandButton action="#{bean.update(wp.nr)}" value="Update" /> update可能需要是一个void(但不确定)?这让我很困惑。CDI没有ViewScoped(您使用的是CDI管理的bean)。您的@RequestS

编辑:使用JSF作用域now和JSF managedbean而不是CDI,因为无论请求作用域、会话作用域还是会话作用域,它都不能与CDI bean一起工作

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

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

update
可能需要是一个
void
(但不确定)?这让我很困惑。CDI没有
ViewScoped
(您使用的是CDI管理的bean)。您的
@RequestScoped
@viewscope
从哪里导入的?@kolossus我被弄糊涂了,所以我不小心使用了viewscope而不是ConversationScoped,当我的IDE添加到导入中时,我没有注意到错误的包。在这种情况下,无论在哪个范围内,使用CDI样式似乎都不起作用。完全切换到JSF风格有助于解决ViewScoped引起的其他问题,但它仍然无法处理RequestScoped。更新了我的问题。
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";
    }
}