コントローラとビュー



  • コントローラからビューに渡されるデータオブジェクトをモデルと呼びます.

  • モデル(コンテンツ)とビューの名前(宛先)をスキップする方法は、ModelAndViewを使用してタイプを返します.

  • Springでは、Web制御移動方式のデフォルト値はforward()方式です.リダイレクト()方式は、ビューの名前(XXX)を「リダイレクト:XXX」に変換する.
    3-0. redirectを使用するには、以下にスキップするurlを記入する必要があります.
    ex) "redirect:index.jsp"or "redirect:index.do"
    3-1. リダイレクト方式は使用されていないようです.ただし、別のコントローラに移動する場合は、「redirect:XXX.do」と書くことができます.このとき、ModelAndViewに戻ると、設定したデータを一緒に渡すこともできます.

  • ビューで使用する他のリソース(css、js、imgなど)は、次のようになります.

  • このとき、これらのリソースをビューにマッピングするにはどうすればいいですか?答えはservlet-contextxmlに表示されます.
  • <resources mapping="/resources/**" location="/resources/" />
    <resources mapping="/js/**" location="/resources/js/" />
  • リクエスト方式が異なる場合、同じ名前でマッピングできます.(もしそうであればservlet.init()エラーが発生します).
    ex)
  • 	@GetMapping("/write.do")
    	public String write() {
    		return "/board/write";
    	}
    	
    	@PostMapping("/write.do")
    	public String write(Board board) {
    		service.insertS(board);
    		return "redirect:list.do";
    	}
    	위의 메소드는 write.jsp로 이동하는 역할
    	밑의 메소드는 write.jsp에서 입력받은 데이터를 처리하는 역할. 
    	같은 url로 매핑해 주었다.
  • 符号化フィルタはwebである.xmlに設定します.
  • <filter>
    	<filter-name>encoding</filter-name>
    	<filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
    	<init-param>
    		<param-name>encoding</param-name>
    		<param-value>UTF-8</param-value>
    	</init-param>
    </filter>
    
    <filter-mapping>
    	<filter-name>encoding</filter-name>
    	<servlet-name>appServlet</servlet-name>
    </filter-mapping>