Index: component/src/org/icefaces/ace/component/fileentry/FileEntryUpload.java =================================================================== --- component/src/org/icefaces/ace/component/fileentry/FileEntryUpload.java (revision 50767) +++ component/src/org/icefaces/ace/component/fileentry/FileEntryUpload.java (working copy) @@ -164,6 +164,37 @@ (PushResourceSetup) progressListenerResourcePusher, buffer, new CommonsFileUploadFile(iter.next())); } + + // Add non-multipart parameters (those found on the form's action URL). + // For example, in a portlet environment: + // ice.view=vtggqoq1:0 + // _jsfBridgeAjax=true + // ice.fileEntry.multipart=true + // ice.window=isizq7jutb + // _facesViewIdResource=/WEB-INF/views/portletViewMode.xhtml + Map urlParameterMap = request.getParameterMap(); + for (Map.Entry mapEntry : urlParameterMap.entrySet()) { + + String parameterName = mapEntry.getKey(); + + if (!parameterListMap.containsKey(parameterName)) { + + Object parameterValues = mapEntry.getValue(); + List parameterValueList = null; + if (parameterValues != null) { + + // Note: parameterValues will be a String (rather than the expected String[]) if the request + // is an instance of ProxyHttpServletRequest. + if (parameterValues instanceof String) { + parameterValueList = new ArrayList(); + parameterValueList.add((String) parameterValues); + } else { + parameterValueList = Arrays.asList((String[]) parameterValues); + } + } + parameterListMap.put(parameterName, parameterValueList); + } + } } catch(Exception e) { FacesMessage fm = FileEntryStatuses.PROBLEM_READING_MULTIPART.