Как получить якорь URL в контроллере игры - PullRequest
2 голосов
/ 15 января 2011

Предположим, у меня есть контроллер и действие:

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

URL с якорем, подобным http://aaa.com/questions/show?id=123#555, будет сопоставлен с этим действием, и как мы можем получить якорь 555 в действии show?

Ответы [ 2 ]

5 голосов
/ 15 января 2011

Чтобы добавить привязку к 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");
    }
}
3 голосов
/ 15 января 2011

Если я вас правильно понимаю, невозможно отправить часть привязки URL-адреса обратно на сервер как часть http-запроса. Он используется только локально, для привязки страницы для внутристраничной навигации.

См. Этот пост для получения дополнительной информации Получение якорной ссылки в URL для ASP.Net

Однако, если вы хотите добавить привязку в своем представлении, а не использовать перенаправления и использовать маршрутизатор в контроллере, вы можете просто сделать это в представлении (где он лучше всего принадлежит)

<a href='@{Questions.show(id)}#555'>link to question</a>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...