次のユーザーコントローラーがあります:
@RequestMapping("/user")
public class UserController {
private static final String ID = "id";
private final Log logger = LogFactory.getLog(getClass());
private UserManager um;
@Autowired
public void setUserManager(UserManager userManager) {
this.um = userManager;
}
@RequestMapping(method = RequestMethod.GET)
public ModelAndView showUser(HttpServletRequest request) {
User user = null;
String id = (String) request.getParameter(ID);
if (id == null) {
String message = "Cannot find user id";
logger.error(message);
return new ModelAndView("WEB-INF/jsp/error.jsp", "message", message);
}
try {
user = (User) um.getUserByUserId(Integer.parseInt(id));
} catch (Exception e) {
String message = "Cannot find user with id: " + id;
logger.error(message);
return new ModelAndView("WEB-INF/jsp/error.jsp", "message", message);
}
logger.info("Returning user view for user id: " + id);
return new ModelAndView("WEB-INF/jsp/user.jsp", "user", user);
}
@RequestMapping(value = "/new", method = RequestMethod.GET)
public ModelAndView getNewUserForm(Model model) {
logger.info("Get new user form");
return new ModelAndView("WEB-INF/jsp/userForm.jsp", "user", new User());
}
すべてのビュー ファイルは WEB-INF/jsp/ にあります
ページに移動しようとすると: localhost:8080/myapp/user.htm すべて正常に動作しますが、移動しようとすると: localhost:8080/myapp/user/new.htm エラー 404 ページが見つかりません。
さらに、ログが表示されるため、このコードが実行されます。
@RequestMapping(value = "/new", method = RequestMethod.GET)
public ModelAndView getNewUserForm(Model model) {
logger.info("Get new user form");
return new ModelAndView("WEB-INF/jsp/userForm.jsp", "user", new User());
}
404 エラー ページの情報: /myapp/user/WEB-INF/userForm.jsp not foud
そして、ここに私の問題があります。これを次のように変更する方法: /myapp/WEB-INF/userForm.jsp ? リクエスト マッピングはどうすればよいですか?