如何在play的控制器中获取url的锚点

Fre*_*ind 2 url playframework

假设我有一个控制器和一个动作:

public Questions extends BaseController {
    public static void show(id) {
        // how to get the anchor here??
    }
}
Run Code Online (Sandbox Code Playgroud)

一个像锚一样的网址http://aaa.com/questions/show?id=123#555将映射到这个动作,我们如何才能使锚定555起作用show

Ric*_*rdo 5

要将锚添加到url,我使用重定向方法和Router类,所以对于你的情况:

public Questions extends BaseController {
    public static void show(id) {

        some stuff...

        Map<String, Object> args = new HashMap<String, Object>();
        args.put("id", questionID);
        String url = Router.getFullUrl("Questions.show", args);
        redirect(url + "#555");
    }
}
Run Code Online (Sandbox Code Playgroud)

  • 也许`Router.reverse("Questions.show",args).addRef("555")`更好:) (4认同)