FileUploadの為のJSP
アップロード用フォームのJSPは次のようにする。
encodeを multipart/form-data にすることぐらい。
<%@page contentType="text/html; charset=UTF-8" %> <%@ taglib uri="http://tiles.apache.org/tags-tiles" prefix="tiles" %> <%@ taglib prefix="s" uri="/struts-tags" %> <tiles:insertDefinition name="default.layout"> <tiles:putAttribute name="title">Upload</tiles:putAttribute> <tiles:putAttribute name="body"> <s:actionerror /> <s:form action="upload" method="post" enctype="multipart/form-data"> <s:file name="file1" key="label.file1" /> <s:file name="file2" key="label.file2" /> <tr><td colspan="2"> <s:submit name=":upload" key="label.upload" theme="simple" /> </td></tr> </s:form> </tiles:putAttribute> </tiles:insertDefinition>
ちょっとTIPS: submitのnameに ":upload"としているのは 投げられたパラメータを setXXX されたくない場合 - Struts 2+Spring 2+Tiles+Acegi+iBatis+GWT+JUnit 4+JMockit でフルスタックJAVAフレームワーク を参照
UploadAction.properties のリソースは次のような感じ
label.file1=ファイル1 label.file2=ファイル2 label.upload=アップロード
完了画面ではファイル名とMIMEタイプを表示場合は次のとおり
<%@page contentType="text/html; charset=UTF-8" %> <%@ taglib uri="http://tiles.apache.org/tags-tiles" prefix="tiles" %> <%@ taglib prefix="s" uri="/struts-tags" %> <tiles:insertDefinition name="default.layout"> <tiles:putAttribute name="title">Upload</tiles:putAttribute> <tiles:putAttribute name="body"> <s:text name="label.file1"/>[<s:property value="%{ file1FileName }"/>][<s:property value="%{ file1ContentType }"/>]<br/> <s:text name="label.file2"/>[<s:property value="%{ file2FileName }"/>][<s:property value="%{ file2ContentType }"/>]<br/> </tiles:putAttribute> </tiles:insertDefinition>