Неиспользуемая переменная шаблона URI - могу ли я заменить ее на шаблон? - PullRequest
0 голосов
/ 07 марта 2012

В моем веб-приложении Spring MVC есть следующий код:

@RequestMapping("/{someVariable}/aPath/aPage.do")
public void serveAPage() {
    doStuff();
}

Мы хотим, чтобы «someVariable» был в URL, но мы не заинтересованы в захвате и использовании его значения. Есть ли способ заменить его подстановочным знаком, например, /*/aPath/aPage.do

1 Ответ

1 голос
/ 08 марта 2012

Да, @RequestMapping принимает шаблоны в стиле Ant начиная с http://static.springsource.org/spring/docs/3.0.x/javadoc-api/org/springframework/web/bind/annotation/RequestMapping.html#params()

Так что это работает:

@RequestMapping(value="/*/test2.do")
public void getMeta5(HttpServletRequest request, HttpServletResponse response) throws IOException {
    final PrintWriter writer = response.getWriter();
    writer.print("requestURI:" + request.getRequestURI());
    writer.flush();
}

Предполагается, что отображение сервлетов в web.xml сопоставляет этот URL-путь с DispatcherServlet, например,

<servlet>
    <servlet-name>spring</servlet-name>
    <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
    <load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
    <servlet-name>spring</servlet-name>
    <url-pattern>*.do</url-pattern>
</servlet-mapping>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...