Параметры пути покоя в Spring MVC 3 - PullRequest
6 голосов
/ 01 июня 2010

Можно ли: установить шаблон URI в элементе mvc: view-controller файла * -servlet.xml или в методе контроллера, а затем использовать / получить этот параметр пути в jsp ?

Я понимаю, что использование @PathVariable в методе контроллера даст мне доступ к параметру пути в этом методе контроллера . Но как я могу получить доступ к параметру пути в jsp ?

Например, можно ли сделать что-то вроде:

* - файл servlet.xml:

<beans...>
<mvc:view-controller path="/home" view-name="home"/>
<mvc:view-controller path="/home/{error}" view-name="home"/>
</beans>

jsp файл:

<c:if test="${not empty param['error']}">
<span class="error">You have an error...</span>
</c:if>

Ответы [ 2 ]

16 голосов
/ 01 июня 2010

Если вы хотите получить доступ к нему в jsp, верните его как атрибут из контроллера:

@RequestMapping("/home/{error}")
public void handleError(@PathVariable String error, ModelMap model) {
    //your regular stuff

    model.addAttribute("error", error);
}

-

<c:if test="${not empty error}">
<span class="error">You have an error...</span>
</c:if>
1 голос
/ 01 июня 2010

Map разрешенных переменных пути отображается как attirubte с именем, указанным HandlerMapping.URI_TEMPLATE_VARIABLES_ATTRIBUTE. Итак, решение

<c:if test="${not empty requestScope['org.springframework.web.servlet.HandlerMapping.uriTemplateVariables']['error']}">

Но доступ к нему таким образом, вероятно, не лучшая идея, решение Affe более чистое.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...