我在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