Я использую @PathVariable из Springframework.Когда я пытаюсь вернуть имя страницы просмотра из контроллера, я получаю ошибку 404 - PullRequest
0 голосов
/ 05 февраля 2019

Я использую Spring MVC (версия: 4.1.5.RELEASE).Я добавил новый контроллер в свой проект и пытаюсь использовать аннотацию @PathVariable.Когда я добавляю эту аннотацию, я получаю ошибку 404 на моей странице просмотра шаблона jsp.Если я удалю аннотацию @PathVariable и {id} из пути @RequestMapping, код будет работать правильно.Может кто-нибудь, пожалуйста, помогите мне, что случилось?

dispatcher-servlet.xml
<bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver">
        <property name="prefix" value="WEB-INF/views/"></property>
        <property name="suffix" value=".jsp"></property>

мой новый контроллер

@Controller
public class MoviesController {
    @RequestMapping(value = "/movie/{id}", method=RequestMethod.GET)
    public String moviesDetails(@PathVariable(value="id")
                                String id, ModelMap map) {
        System.out.println(id);
        map.addAttribute("movieId", id);
        return "moviesDetails";
    }
}

ссылка, где я добавляю идентификатор, как показано ниже.

a href = "movie / $ {movie.id}">> $ {movie.movieName}

HTTP-статус 404 - /shcm/movie/WEB-INF/views/moviesDetails.jsp

файл moviesDetails.jsp уже существует в пути WEB-INF / views

Ответы [ 2 ]

0 голосов
/ 05 февраля 2019

Изменение в контроллере:

 @GetMapping("/movie/{id}")
 public String moviesDetails(@PathVariable
                                String id, ModelMap map) {
        System.out.println(id);
        map.addAttribute("movieId", id);
        return "moviesDetails";
    }

И в web.xml:

<property name="prefix" value="/WEB-INF/views/"></property>
0 голосов
/ 05 февраля 2019

Изменить

@ PathVariable (value = "id") Идентификатор строки

на

@ PathVariable ("id") Идентификатор строки

...