Получить строковые значения запроса в Spring MVC-контроллере

У меня есть URL-адрес реферера:

http://myUrl.com?page=thisPage&gotoUrl=https://yahoo.com?gotoPage

Как мне получить значения "страницы" и "gotoUrl" в моем контроллере Spring?

Я хочу сохранить эти значения в качестве переменных, поэтому я могу повторно использовать их позже.

Спасибо,

Ответы

Ответ 1

Вы можете использовать метод getParameter() из интерфейса HttpServletRequest.

Например:

  public void getMeThoseParams(HttpServletRequest request){
    String page = request.getParameter("page");
    String goToURL = request.getParameter("gotoUrl");
}

Ответ 2

В SpringMVC вы можете указать значения из строки запроса, которые будут проанализированы и переданы в качестве параметров метода с аннотацией @RequestParam.

public ModelAndView getPage(
    @RequestParam(value="page", required=false) String page, 
    @RequestParam(value="gotoUrl", required = false) String gotoUrl) {
}

Ответ 3

Получить QueryString в Spring MVC-контроллере

Это конкретное решение портала Liferay, и оно работает.

Пример строки запроса: ?reportTypeId=1&reportSeqNo=391

Чтобы получить значение reportSeqNo в Liferay Portal, нам нужно получить исходный запрос сервлета.

String reportSeq = PortalUtil.getOriginalServletRequest(PortalUtil.getHttpServletRequest(renderRequest)).getParameter("reportSeqNo");