DBILITY

vaadin flow URL generation 본문

front-end & ui/vaadin flow

vaadin flow URL generation

DBILITY 2018. 9. 10. 12:58
반응형

공식 사이트 문서를 참조하여 작성하였다.

 

Router는 Navigation Target들에 지정된 Navigation URL을 Router.getUrl(Class target) 메서드를 통해 제공하지만,

parent layout에 의해 경로가 추가된 경우 다루기 간단하지 않을 수 있다.

@Route("path")
public class PathComponent extends Div {
  public PathComponent() {
    setText("Hello @Route!");
  }
}

public class Menu extends Div {
    public Menu() {
        String route = UI.getCurrent().getRouter().getUrl(PathComponent.class);
        Anchor link = new Anchor(route, "Path");
        add(link);
    }
}

 

paramter가 필수인 navigation target일 경우 Router.getUrl(Class target, T parameter) 메서드를 이용해 parameter를 포함시킬 수 있다.

@Route(value = "greet")
public class GreetingComponent extends Div implements HasUrlParameter<String> {

    public GreetingComponent() {
        getElement().setAttribute("style", "padding:5px 0 0 10px");
    }
    @Override
    public void setParameter(BeforeEvent event, String parameter) {
        setText(String.format("어서와 %s 바딘은 처음이지?!", parameter));
    }
}

public class ParameterMenu extends Div {
    public ParameterMenu() {
        String route = UI.getCurrent().getRouter().getUrl(GreetingComponent.class, "anonymous");
        Anchor link = new Anchor(route, "Greeting");
        add(link);
    }
}

 

반응형
Comments