2015-12-14 20 views
1

我試圖用MyFaces 2.2.8設置一個簡單的JSF 2.2應用程序。 由於MyFaces有一些我以前從未使用的上下文參數,我試圖熟悉這些參數。submitForm()未爲myfaces定義.JSF_JS_MODE'minimal-modern'

所以我第一次使用org.apache.myfaces.JSF_JS_MODE,並遇到h:commandLink的問題。 如果我將模式設置爲minimal-modern,commandLink正嘗試呼叫myfaces.oam.submitForm(),這是未定義的。 如果我將模式設置爲minimalnormal它可以工作。

從閱讀一些互聯網文章,我認爲這是一個錯誤,因爲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); 
    } 
} 

缺少什麼我在這裏?提前致謝!

回答

1

我可以確認它是一個錯誤。解決在MYFACES-4034爲2.2.10

+0

非常酷。感謝您打開並修復它! – tobwoerk