==[[Spring MVC Tips]]==
[[Spring]] | [[Spring MVC]] |
==コントローラー==
===リクエストパラメータを必須でなくする===
*@RequestParam を指定するとデフォルトで必須なのでパラメータがない場合、URLにマッチしない[[R]]equestParam を指定するとデフォルトで必須なのでパラメータがない場合、U[[R]]Lにマッチしない
*required=falseとする
@RequestMapping[[R]]equestMapping(value="/test.html",method = RequestMethod[[R]]equestMethod.GET) public String setupForm( @RequestParam[[R]]equestParam(value="id", required=false) String id, ModelMap model) {
:
===ファイルアップロード===
*MultipartFile を利用する
*文字化け対策をする[[文字化け]]対策をする
=====Form=====
<form id="formUpload" action="upload.html" method="POST" enctype="multipart/form-data" >
</form>
=====文字コードをiso[[文字コード]]をiso-8859-1として変換=====*http://ja.wikipedia.org/wiki/ISO/IEC_8859[[IE]]C_8859-1 @RequestMapping[[R]]equestMapping(value="/upload.html", method = RequestMethod[[R]]equestMethod.POST)
public String uploadFile(MultipartFile file) {
String filename = new String(file.getOriginalFilename().getBytes("iso-8859-1"),"utf-8");
===ファイルダウンロード===
//String fileName = new String(originalFileName.getBytes("utf-8"),"iso-8859-1"); // Chrome OK, [[IE ]] NG String fileName = new String(originalFileName.getBytes("ms932"),"iso-8859-1"); // Chrome OK, [[IE ]] OK
response.setHeaderset[[Header]]("Content-Type", "application/octet-stream"); response.setHeaderset[[Header]]("Content-Disposition", "filename=\"" + fileName + "\"");
BufferedInputStream bis = new BufferedInputStream(attachFileDownloadServiceattachFileDownloadSer[[vi]]ce.getAttachFileOutputStream(attachFileInfo));
os = response.getOutputStream();