Thanks. That worked.
It does mean I have to hard-code more strings (the parameter name) and convert the value, so it is a bit cumbersome. Maybe the added flexibility will pay off later.
var parm = new RouteParam("id", 42);
var item = new SideNavItem("Number 42", TargetView.class, new RouteParameters(parm));
@Route(value="target/:id")
public class TargetView extends VerticalLayout implements BeforeEnterObserver {
@Override
public void beforeEnter(BeforeEnterEvent event) {
id = Integer.parseInt(event.getRouteParameters().get("id").get());
}
Alternative: you could also use query parameter… but a key/value pair is always there to be remembered somewhere if you don’t wanna create routes for each possible value