submitForm() не определен для myfaces.JSF_JS_MODE 'минимально-современный'

Я попытался настроить простое приложение JSF 2.2, используя MyFaces 2.2.8. Поскольку в MyFaces есть некоторые контекстные параметры, которые я никогда раньше не использовал, я попытался с ними ознакомиться.

Итак, я впервые использовал org.apache.myfaces.JSF_JS_MODE и столкнулся с проблемами с h:commandLink. CommandLink пытается вызвать myfaces.oam.submitForm(), который не определен, если я установил режим minimal-modern. Если я устанавливаю режим minimal или normal, он работает.

Прочитав некоторые статьи в Интернете, я предполагаю, что это ошибка, потому что submitForm не является ни частью jsf-legacy.js, ни jsf-i18n.js, ни jsf-experimental.js, и, по-видимому, он нужен h:commandLink. Также комментарий к исходному коду org.apache.myfaces.shared.renderkit.html.util.ResourceUtils.markScriptAsRendered(FacesContext, String, String) говорит мне

Скрипт oamSubmit включен в jsf.js

здесь:

public static void markScriptAsRendered(FacesContext facesContext, String libraryName, String resourceName)
{
    getRenderedScriptResources(facesContext).put(
            libraryName != null ? libraryName+'/'+resourceName : resourceName, Boolean.TRUE);
    if (JAVAX_FACES_LIBRARY_NAME.equals(libraryName) &&
        JSF_JS_RESOURCE_NAME.equals(resourceName))
    {
        // If we are calling this method, it is expected myfaces core is being used as runtime and note
        // oamSubmit script is included inside jsf.js, so mark this one too.
        getRenderedScriptResources(facesContext).put(
                MYFACES_LIBRARY_NAME+'/'+MYFACES_JS_RESOURCE_NAME, Boolean.TRUE);
    }
}

Что мне здесь не хватает? Заранее спасибо!


person tobwoerk    schedule 14.12.2015    source источник


Ответы (1)


Я могу подтвердить, что это ошибка. Решено в MYFACES-4034 для 2.2.10.

person lu4242    schedule 25.02.2016