我在Entreprise应用程序中使用JSF 2.2和PrettyFaces 3.3.3。ManagedBean在命名时丢失数据
我映射我的豆与注释(AdminCompaniesController.java):
@ManagedBean
@ViewScoped
@URLMappings(mappings={
@URLMapping(id = "admin-companies", pattern = "/admin/companies", viewId = "/admin/companies.jsf")
})
public class AdminCompaniesController implements Serializable {
@EJB
private CompanyService companyService;
private Collection<Company> companies = new ArrayList<>();
Company company;
@PostConstruct
public void init() {
companies = companyService.getAllCompanys();
}
}
在我看来,我显示一个表中的数据(companies.xhtml):
<ui:repeat value="#{adminCompaniesController.companies}" var="company">
<tr>
<td><h:outputText value="#{company.name}" /></td>
</tr>
</ui:repeat>
这工作正常,我得到了29家公司。但是,只要我给我的豆子命名:@ManagedBean(name = "companiesBean")
,我就会丢失所有数据。该视图显示0结果。
它与bean范围有关吗?或者也许EJB注入也需要一个名字?
如果向bean添加名称,请确保在Facelets中更新此名称。 – 2014-10-16 15:28:42
@LuiggiMendoza是的,它在更新视图中的名称后工作。谢谢。 – Thrax 2014-10-17 07:24:40