私は、 'Spring frameworkで始める'(第2版)の本を読んでいます.Ch11-bankappでは、@ModelAttributeの関数はビュー名を返しません。したがって、ビュー名はRequestToViewNameTranslatorによって返されるはずです。エラー - 私は、URL http://localhost:8080/ch11-bankapp/fixedDeposit/listを入力するとき RequestToViewNameTranslatorが機能しません
@Controller
@RequestMapping(value = "/fixedDeposit")
public class FixedDepositController {
private static Logger logger = Logger
.getLogger(FixedDepositController.class);
@Autowired
private FixedDepositService fixedDepositService;
@RequestMapping(value = "/list", method = RequestMethod.GET)
@ModelAttribute(value = "fdList")
public List<FixedDepositDetails> listFixedDeposits() {
logger.info("listFixedDeposits() method: Getting list of fixed deposits");
return fixedDepositService.getFixedDeposits();
}
は、しかし、それは私にHTTPステータス404を与えます。 コンソールは私に
がorg.springframework.web.servlet.PageNotFoundをWARN次の警告を与えない - 名「のbankappとのDispatcherServletにURI [/ CH11-セッション属性/ fixedDeposit /リスト]でHTTPリクエストが見つかりませマッピングを'
誰かが私の理由を説明できますか?
p.s私は本のソースコードを実行しています。この本はコードが完璧であることを前提としています。しかし、それは動作していません。
'Listではなく、ModelAndViewオブジェクトを返す必要があります。 ''新しいModelAndView( "nameOfJspPage"、 "fdList"、新しいfixedDepositService.getFixedDeposits()); ' –
を返しますが、ModelAndViewオブジェクトを返すと、RequestToViewNameTranslatorの全点が失われます。 @ModelAttribute注釈を使用するにはどうすればよいですか? –
ModelAttributeアノテーションを使用する必要はありません。 –