JSF2:在ManagedBeans之间处理数据
我遇到了一个问题,我没有找到一个简单的解决方法: 我使用不同的ManagedBeans来组织我的视图。有一个控制器可以管理操作,并将数据从持久层传递到持久层。此外,还有位于视图后面并包含其数据的模型 请求范围的控制器初始化模型(-managedBean)并用数据填充模型。模型(-managedBeans)是会话范围。到目前为止,这种方法效果很好 但如何在两个RequestScope控制器之间传递数据? 我的控制器初始化模型,当我想处理数据时,它总是不存在,因为我的模型中的任何请求数据都会被空对象重新填充JSF2:在ManagedBeans之间处理数据,jsf,jsf-2,Jsf,Jsf 2,我遇到了一个问题,我没有找到一个简单的解决方法: 我使用不同的ManagedBeans来组织我的视图。有一个控制器可以管理操作,并将数据从持久层传递到持久层。此外,还有位于视图后面并包含其数据的模型 请求范围的控制器初始化模型(-managedBean)并用数据填充模型。模型(-managedBeans)是会话范围。到目前为止,这种方法效果很好 但如何在两个RequestScope控制器之间传递数据? 我的控制器初始化模型,当我想处理数据时,它总是不存在,因为我的模型中的任何请求数据都会被空对象
我想扩展我的问题:我在做这件事,就像博兹霍已经发布了一样。但是我的“另一个bean”(就像他所说的)在一段时间后是空的?JSF是否出于某些原因重新创建bean?使用ViewScoped for ManagedBean而不是RequsetScope使用ViewScoped for ManagedBean而不是RequsetScope您可以通过
FacesContext
环境访问requestscope映射
FacesContext.getCurrentInstance().getExternalContext().getRequestMap()
这里有一个映射,其中字符串是托管bean名称,对象是托管bean的实例
我建议您使用BalusC编写的JSF进行通信。您可以通过FacesContext
环境访问requestscopeMap
FacesContext.getCurrentInstance().getExternalContext().getRequestMap()
@ManagedProperty(name = "#{anotherBean}")
private AnotherBean anotherBean;
这里有一个映射,其中字符串是托管bean名称,对象是托管bean的实例
我建议您使用BalusC编写的JSF进行通信。谢谢大家的回答,但我的错误发生在其他地方
@ManagedProperty(name = "#{anotherBean}")
private AnotherBean anotherBean;
几周前,我尝试集成PrimeFaces进行测试。我没有让它工作,就把它拿走了。但是我忘了删除pom文件中的依赖项(对于maven)。从pom文件中删除PrimeFaces后,我的Web应用程序运行流畅。谢谢大家的回答,但我的错误已经在其他地方了
几周前,我尝试集成PrimeFaces进行测试。我没有让它工作,就把它拿走了。但是我忘了删除pom文件中的依赖项(对于maven)。从pom文件中删除PrimeFaces后,我的Web应用程序运行流畅。抱歉,这不是我想要的。我不想放弃我的结构,只是因为它可以工作-对不起,这不是我想要的。我不想放弃我的结构,因为它可以工作。-@Bozho,我们有没有类似的JSF1.2版本的解决方案?是的,将JSF与spring集成。这很简单-据我所知,您只需要在faces配置中配置一个spring解析器。@Bozho,我们对JSF 1.2版本有类似的解决方案吗?是的,将JSF与spring集成。这很简单-据我所知,您只需要在faces配置中配置一个spring解析器。