PrimeFaces 4.0 FileUpload работает с Mojarra 2.2, но не с MyFaces 2.2

У меня интересная проблема с последним элементом FileUpload в PrimeFaces 4.0. Я пытаюсь бежать:

PrimeFaces 4.0 финалApache MyFaces 2.2.0-betaTomcat 7.0.27

У меня сейчас очень простая настройка,

Страница XHTML:








    

    



С этим бобом поддержки:

import javax.faces.application.FacesMessage;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.RequestScoped;
import javax.faces.context.FacesContext;

import org.primefaces.event.FileUploadEvent;

@ManagedBean
@RequestScoped  
public class FileUploadController
{
    public void handleFileUpload(FileUploadEvent event)
    {
        FacesMessage msg = new FacesMessage("Succesful", event.getFile()
                .getFileName() + " is uploaded.");
        FacesContext.getCurrentInstance().addMessage(null, msg);
    }
}

При выборе файла и его загрузке ничего не происходит.

Загрузка успешно завершена со следующим ответом:


но сообщение не отображается, и если я установлю точку останова, оно не будет получено.

Если, однако, я вытащу MyFaces 2.2.0-beta и поставлю Mojarra 2.2.0, все будет работать как положено.

Я бы предпочел продолжать использовать MyFaces, так как это то, что яМы использовали его в прошлом, поэтому, если у кого-то есть какие-либо идеи относительно патча, чтобы заставить его работать, это было бы очень признательно.

Спасибо

web.xml



UploadTest

    index.html
    index.htm
    index.jsp
    default.html
    default.htm
    default.jsp


    Faces Servlet
    javax.faces.webapp.FacesServlet
    1


    Faces Servlet
    *.xhtml


    javax.servlet.jsp.jstl.fmt.localizationContext
    resources.application


    State saving method: 'client' or 'server' (=default). See JSF Specification 2.5.2
    javax.faces.STATE_SAVING_METHOD
    client


    
This parameter tells MyFaces if javascript code should be allowed in
the rendered HTML output.
If javascript is allowed, command_link anchors will have javascript code
that submits the corresponding form.
If javascript is not allowed, the state saving info and nested parameters
will be added as url parameters.
Default is 'true'
    org.apache.myfaces.ALLOW_JAVASCRIPT
    true


    
If true, rendered HTML code will be formatted, so that it is 'human-readable'
i.e. additional line separators and whitespace will be written, that do not
influence the HTML code.
Default is 'true'
    org.apache.myfaces.PRETTY_HTML
    true


    org.apache.myfaces.DETECT_JAVASCRIPT
    false


    
If true, a javascript function will be rendered that is able to restore the
former vertical scroll on every request. Convenient feature if you have pages
with long lists and you do not want the browser page to always jump to the top
if you trigger a link or button action that stays on the same page.
Default is 'false'

    org.apache.myfaces.AUTO_SCROLL
    true


    org.apache.myfaces.webapp.StartupServletContextListener


Обновить

Похоже, что Myfaces 2.2.0-beta имеет проблемы с использованием Part API, присутствующего в сервлете 3.x.

удайкиран пулипати имеет часть решения с использованием вебweb.xml фильтры, которые требуется PrimeFaces 3.x и загрузка файла commons io jars, однако, нам также необходимо добавить следующий контекст-параметр вweb.xml или фильтры игнорируются:


  primefaces.UPLOADER
  commons

Это заставит PrimeFaces использовать библиотеку commons, которая решает проблему

При этом, я все еще хотел бы знать, почему MyFaces может 'Кажется, я не использую API части сервлета, если у кого-то есть идеи. Я подозреваю, что это может быть связано с моей версией Tomcat, поскольку я нахожусь только на 7.0.27, но я сомневаюсь в этом.

Ответы на вопрос(3)

Ваш ответ на вопрос