你们中的任何人都可以告诉我如何上传文件并使用spring mvc portlet controller将输入参数传递给控制器吗?
jsp中的操作URL和表单:
<portlet:actionURL var="addDetailsURL">
<portlet:param name="addDetails" value="addDetailsValue"/>
</portlet:actionURL>
<div id = "<portlet:namespace/>addDetailsDIV" >
<form action="${addDetailsURL}" enctype="multipart/form-data" method="post">
<input style="display:block;" type="text" name="selectedDetail" id='selectedDetail'/> <%-- holds the parameter that is supposed to be passed to the controller --%>
<table width = 100% cellspacing="5" cellpadding="5">
<tr>
<td colspan='2'><fmt:message key = "selectFileUploadTxt"/></td>
</tr>
<tr>
<td colspan='2'><input id="uploadedFile" type="file" name="uploadedFile" /></td>
</tr>
<tr>
<td >
<span id="<portlet:namespace />closeAddDetailDia">cancel</span>
</td>
<td align="left">
<Button id="uploadButton"><fmt:message key="addDetailButtonTxt" /></Button>
</td>
</tr>
</table>
</form>
</div>
在提交时,请求将转到控制器,但“selectedDetail”参数为空。
控制器代码:
@RequestMapping("VIEW")
public class AddDetailsController {
/**
*
* @param actionRequest
* @param actionResponse
* @return
* @throws IOException
*/
@SuppressWarnings({ "rawtypes", "unused" })
@ActionMapping(params = "addDetails=addDetailsValue")
public String fileUpload(ActionRequest actionRequest, ActionResponse actionResponse,
@RequestParam String selectedDetail
) throws PortletException, IOException {
System.out.println("selectedDetail : " + selectedDetail); // it is null
System.out.println("selectedDetail : " + actionRequest.getParameter("selectedDetail")); // it is null
文件上传部分工作正常,但我没有得到“selectedDetail”参数。请帮忙。
环境详情
如果您需要任何其他细节,请与我们联系。
答案 0 :(得分:-1)
在后端,定义一个bean来保存包含文件的表单数据。
我称之为FormBean。 FormBean应该有一个类型为
的实例变量
private org.springframework.web.multipart.commons.CommonsMultipartFile file;
表单中的更改将包括在表单元素中包含“commandName”和“path”:
&lt; form:form enctype =“multipart / form-data” commandName =“formBean” ... /&gt;
&安培;
&lt; form:input id =“uploadedFile”type =“file”name =“uploadedFile” path =“file” /&gt;
以下链接解释了这一点: HTTPS://portalhub.wordpress.com/2012/05/20/spring-mvc-portlet-file-upload-and-download/