Liferay:如何使 enctype= "multipart/form-data" 和 method= "post"协同工作?



我正在使用liferay门户服务器6.2开发一个web应用程序

JSP代码-
    <form id="mainForm" action="<portlet:actionURL/>" method="post" enctype="multipart/form-data" >
<input type="hidden" id="varImport" name="varImport"/>
    <div class="tab-pane" id="uploadFile">
        <p>Please upload a file</p>
        <div id="inputFileDiv">
            <input type="file" name="uploadFile" />
        </div>
    </div>
    <input type="submit" class="btn btn-info" onClick="import()" value="IMPORT" />
    </form>
    <script>
        function import() {
            console.log("importing");
            document.getElementById("varImport").value = "IMPORTFILE";
            document.getElementById("mainForm").submit();
        }
    </script>

Servlet代码-

@Override
    public void processAction(ActionRequest request, ActionResponse response) throws PortletException, IOException {
        System.out.println("myPortlet.processAction() >> " + request.getParameter("varImport"));
    //... rest of the code.  
}
如果我从jsp表单中删除enctype,我将在servlet中获得varImport的值。

但是如果我保留它,它返回null。

我错过了什么?

import com.liferay.portal.util.PortalUtil;
UploadPortletRequest uploadRequest = PortalUtil.getUploadPortletRequest(request);
System.out.println("myPortlet.processAction() >> " + uploadRequest.getParameter("varImport"));

相关内容

最新更新