Entreprise 응용 프로그램에서 PrettyFaces 3.3.3과 함께 JSF 2.2를 사용하고 있습니다. 나는 데이터 (companies.xhtml)와 테이블을 표시 내 관점에서명명 된 경우 ManagedBean의 데이터가 손실됩니다.
@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();
}
}
:이 잘 작동
<ui:repeat value="#{adminCompaniesController.companies}" var="company">
<tr>
<td><h:outputText value="#{company.name}" /></td>
</tr>
</ui:repeat>
나는 주석 내 콩 (AdminCompaniesController.java)를 매핑 , 나는 테이블에있는 29의 회사를 얻는다. 그러나 내가 콩 이름을 짓 자마자 :
@ManagedBean(name = "companiesBean")
, 나는 모든 자료를 잃어 버린다. 보기에 0 개의 결과가 표시됩니다.
빈 범위와 관련이 있습니까? 아니면 EJB 인젝션에 이름이 필요할까요?
빈에 이름을 추가하는 경우 Facelets에서도이 이름을 업데이트해야합니다. –
@LuiggiMendoza 예,보기에서 이름을 업데이트 한 후에 작동합니다. 감사. – Thrax