Jsf 2 在EL动作中传递参数不';不能使用RequestScoped bean
编辑:使用JSF作用域now和JSF managedbean而不是CDI,因为无论请求作用域、会话作用域还是会话作用域,它都不能与CDI bean一起工作 我尝试将参数传递给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
<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&includeViewParams=true";
}
}