Использование FileEntryForm после обновления с Liferay 5.2.3 до 6.0

Во время обновления портала Liferay 5.2.3 до 6.0.6 я обнаружил, что класс com.liferay.portlet.documentlibrary.form.FileEntryForm был удален.

В Интернете нет помощи, и я использовал этот класс:

public ActionForward execute(ActionMapping mapping, ActionForm form,HttpServletRequest request, HttpServletResponse response) throws Exception {
    FileEntryForm fileEntryForm = (FileEntryForm)form;
    FormFile formFile = (FormFile) fileEntryForm.getMultipartRequestHandler().getFileElements().get("file");
}

Как я могу это исправить?

Спасибо всем


person ponticello    schedule 04.09.2012    source источник
comment
-1: Пожалуйста, отредактируйте свой вопрос. Не имеет никакого смысла, что это я заметил, что в версии 6 не eseste больше ... значит?   -  person Prakash K    schedule 04.09.2012


Ответы (1)


Теперь кажется, что вы хотите получить файл из request, вот как это делается в 6.0:

UploadPortletRequest uploadRequest = PortalUtil.getUploadPortletRequest(actionRequest);
File file = uploadRequest.getFile("file");

Было бы полезно, если бы вы могли изучить исходный код Liferay 6.0.6, код, который я дал, взят из метода com.liferay.portlet.documentlibrary.action.EditFileEntryAction#updateFileEntry().


Многое изменилось в Liferay 6.0.6 со времен Liferay 5.x, изменился весь подход к разработке. Теперь все является плагином, включая Extension Plugin (ext-plugin). Начиная с версии 6.0 отсутствует среда расширений. Поэтому для обновления до версии 6.0 вам придется внести много изменений в код.

А среди портлетов OOTB резко изменилась библиотека документов, а также в Liferay 6.1.x для библиотеки документов гораздо больше изменений.

Я надеюсь, что это ответит на ваш вопрос, если я что-то пропустил или вы хотите узнать что-то еще, я буду рад отредактировать свой ответ.

person Prakash K    schedule 05.09.2012