Я использую JSF 2.2 с PrettyFaces 3.3.3 в своем Entreprise Application.ManagedBean потерял данные при имени
Я сопоставляются мой Bean с аннотациями (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 компаний в таблице. Но как только я назову свой Bean: @ManagedBean(name = "companiesBean")
, я теряю все данные. На дисплее отображается 0 результат.
Связано ли это с областью бобов? Или, может быть, инъекция EJB тоже нуждается в имени?
Если вы добавите имя в свой компонент, обязательно обновите это имя в Facelets. –
@LuiggiMendoza Да, он работал после обновления имени в представлении. Благодарю. – Thrax