SpringMVC(二)注解方式によるController


もっと読む
SpringMVCは実際の開発応用において、通常は注釈方式を採用しています.
第一歩は、Springに教えて、Controllerはどの経路の下に置いて、Spring容器に自動的にControllerを探して組み立てるようにします.
 第二のステップは、SpringMVCにおいて、HandlerMappingとHandlerAdapterがペアで出現し、次にこの2つのオブジェクトを配置します.

	
	
		
	        
	        	
	            
	        
	    
	
	
        
			
				text/html;charset=UTF-8
				application/json;charset=UTF-8
			
       
        
    
        
	
	
        
			
				text/html;charset=UTF-8
				application/json;charset=UTF-8
			
       
    
 異なるフォーマットのデータに対しては、異なるCoverterデータ変換器を配置し、上の構成ではJSON形式のデータを処理し、JSON変換器を配置し、Gsonを用いてjsonデータを処理し、対応するトランスポンダ類を配置する.
第三のパスマップとリターンデータ
@RequestMapping("city")
@Controller
public class CityController {

	private CityService cityService;

	public CityService getCityService() {
		return cityService;
	}

	@Autowired
	public void setCityService(CityService cityService) {
		this.cityService = cityService;
	}

	/**
	 * 
	 * @description TODO
	 * @return
	 * @return ModelAndView
	 */
	@RequestMapping(path = "/view/list", method = RequestMethod.GET)
	public ModelAndView listProvincePage() {
		ModelAndView mv = new ModelAndView();
		mv.setViewName("division/cityList");
		return mv;
	}

	@RequestMapping(path = "/handler/list", method = RequestMethod.POST, produces = MediaType.APPLICATION_JSON_UTF8_VALUE)
	@ResponseBody
	public String listCity(@RequestBody Map request) {

		/**
		 *            Map  ,   SpringMVC              float  
		 * 
		 *  limit 10      10.0
		 * 
		 */
		int limit = Integer.parseInt(request.get(BootstrapTableContants.LIMIT));
		int offset = Integer.parseInt(request.get(BootstrapTableContants.OFFSET));
		return cityService.pageCity(null, offset, limit);
	}

	@RequestMapping(path = "/handler/listProvince", method = RequestMethod.POST, produces = MediaType.APPLICATION_JSON_UTF8_VALUE)
	@ResponseBody
	public String listProvince() {
		return cityService.listProvince();
	}

	@RequestMapping(path = "/handler/add", method = RequestMethod.POST, produces = MediaType.APPLICATION_JSON_UTF8_VALUE)
	@ResponseBody
	public String addCity(@RequestBody City city) {
		return cityService.addCity(city);
	}

	@RequestMapping(path = "/handler/edit", method = RequestMethod.POST, produces = MediaType.APPLICATION_JSON_UTF8_VALUE)
	@ResponseBody
	public String editCity(@RequestBody City city) {
		return cityService.editCity(city);
	}

	@RequestMapping(path = "/handler/delete", method = RequestMethod.POST, produces = MediaType.APPLICATION_JSON_UTF8_VALUE)
	@ResponseBody
	public String deleteCity(@RequestBody City city) {
		return cityService.deleteCityById(city.getCityId());
	}

	
}
 ModelAndViewに戻ると、より具体的には、JSPページを返します.JSONフォーマットのデータを返すなら、Gsonを通じてプログラム内で手動に変換してもいいです.直接にオブジェクトを返すこともできます.前にはすでにトランスファーが配置されていますので、SpringMVCは適切に自動的に変換されます.特にJSONデータに戻る時は@ResponseBodyを使う必要があります.
    SpringMVCは静的リソース、スクリプト画像CSSなどにアクセスできます.以下の構成を追加する必要があります.

	
    	
	
	
	
 最後にSprigMVCの完全な構成は以下の通りです.特に特殊なデータを処理する必要があると指摘しています.他のトランスケタを配置する必要があります.ここでは全部羅列されていません.また、SpringMVCアップロードファイルに必要なトランスケタなども言及していません.



    
	
	
	    
	    
	    
	
	
	
	
	
	
	
	
	
	
	
		
	        
	        	
	            
	        
	    
	
	
        
			
				text/html;charset=UTF-8
				application/json;charset=UTF-8
			
       
        
    
        
	
	
        
			
				text/html;charset=UTF-8
				application/json;charset=UTF-8