如何在游戏中获得url的锚';s控制器

如何在游戏中获得url的锚';s控制器,url,playframework,Url,Playframework,假设我有一个控制器和一个动作: public Questions extends BaseController { public static void show(id) { // how to get the anchor here?? } } 带有锚状http://aaa.com/questions/show?id=123#555将映射到此操作,我们如何在操作show中获得锚定555?要将锚定添加到url,我使用重定向方法和路由器类,因此对于您的情况: pu

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

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

带有锚状
http://aaa.com/questions/show?id=123#555
将映射到此操作,我们如何在操作
show
中获得锚定
555

要将锚定添加到url,我使用重定向方法和路由器类,因此对于您的情况:

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");
    }
}
公共问题扩展BaseController{
公共静态无效显示(id){
一些东西。。。
Map args=new HashMap();
参数put(“id”,问题id);
字符串url=Router.getFullUrl(“Questions.show”,args);
重定向(url+“#555”);
}
}

如果我理解正确,则无法将url的锚定部分作为http请求的一部分发送回服务器。它仅在本地使用,用于锚定页面以进行页面内导航

有关更多信息,请参阅本文

但是,如果您想在视图中添加锚定,而不是使用重定向和控制器中的路由器,您只需在视图中(它最适合的位置)添加锚定即可


Router.reverse(“Questions.show”,args)。addRef(“555”)更好:)
<a href='@{Questions.show(id)}#555'>link to question</a>