0

I am using vaadin 24.


**MainLayout:**
UI.getCurrent().navigate(defaultViewClass, new RouteParameters("project_Id",selectedProject.getId().toString()));


**DefaultView:**
@PageTitle("Default Mapping")
@Route(value = "Default-Mapping/:project_Id", layout = MainLayout.class)
@RolesAllowed("USER")
public class DefaultView extends VerticalLayout  implements BeforeEnterObserver  {
public DefaultView(ProjectsService projectsService) {
    this.projectsService = projectsService;

    saveBtn.setVisible(false);
    editBtn.setVisible(true);

    System.out.println("constructor........");
    HorizontalLayout hl = new HorizontalLayout();
    hl.add(getTabsheet()); // project_Id parameter used in this method

    hl.setHeightFull();
    hl.setSizeFull();

    add(hl);
}
@Override
public void beforeEnter(BeforeEnterEvent event) {
    RouteParameters parameters = event.getRouteParameters();
    String projectId = parameters.get("project_Id").orElse(null);
    if (projectId != null) {
        projects = projectsService.findById(Long.parseLong(projectId));
    }

}
}

Constructor call before "beforenter" method.

I get project_id value in beforeenter method, but I want while defaultview class load and call constructor. So I can use project_id in getTabsheet method.

Is this navigation right?

How to find correct way?

I have tried different methods, but they are not working. How to communicate with database using id?

Chaosfire
  • 4,818
  • 4
  • 8
  • 23
Maryam
  • 1

0 Answers0