У меня есть Controller-ManagedBeans и Model-ManagedBeans (например, MVC-Pattern).
Вот мой контроллер:
@ManagedBean
@RequestScoped
public class ProjectController {
private ProjectData projectBean; //The Model-ManagedBean (see below)!
private IProjectService projectService; //My Service-Layer
public ProjectController(){
init();
}
private void init(){
projectBean = new ProjectData();
projectService = new ProjectService();
}
public String saveProject() {
projectService.addProject(projectBean.getProjectDTO());
return ("");
}
}
... и ее вы можете увидеть мою модель, которая получает свои значения из лицевой стороны ...
@ManagedBean(name="ProjectData")
@SessionScoped
public class ProjectData {
private ProjectDTO projectDTO;
public ProjectData(){
projectDTO = new ProjectDTO();
}
public ProjectDTO getProjectDTO() {
return projectDTO;
}
public void setProjectDTO(ProjectDTO projectDTO) {
this.projectDTO = projectDTO;
}
public String getTitle() {
return projectDTO.getTitle();
}
public void setTitle(String title) {
projectDTO.setTitle(title);
}
}
Моя проблема сейчас в том, что это не работает. Я думаю, что мне нужно ввести зависимость между этими двумя классами. Но как? Есть ли JSF-pro, который может мне помочь.
Я хотел бы использовать аннотации.
Спасибо
Обновление после сообщения BalusC
Я немного изменил свой код, но он все еще не работает. Любые дальнейшие советы, пожалуйста.
@ManagedBean(name="projectData")
@SessionScoped
public class ProjectData {
...
@ManagedProperty(value="#{projectData}")
private ProjectData projectData;
Ошибка com.sun.faces.mgbean.ManagedBeanCreationException
говорит о том, что bean-компонент контроллера не может быть создан, потому что projectData (bean-компонент модели) не найден ..