我想一起使用三個框架:PrimeFaces,PrimeFaces Mobile和MyFaces ExtVal。庫版本是:PF 3.3.1,PF Mobile 0.9.3,MyFaces ExtVal 2.0.5。請看下面的代碼:PrimeFaces + PrimeFaces Mobile + MyFaces的渲染問題ExtVal
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:f="http://java.sun.com/jsf/core"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:p="http://primefaces.org/ui">
<f:view>
<h:head>
<meta charset="UTF-8" />
<title>Primefaces Mobile test</title>
</h:head>
<h:body>
<h:form>
<p:commandButton value="Oi" />
</h:form>
</h:body>
</f:view>
</html>
如果項目只有PrimeFaces和移動罐,如預期所呈現的commandButton:
<button id="j_idt6:j_idt7" name="j_idt6:j_idt7" class="ui-button ui-widget ui-state-default ui-corner-all ui-button-text-only" onclick="PrimeFaces.ab({source:'j_idt6:j_idt7'});return false;" type="submit"><span class="ui-button-text">Oi</span></button>
這是默認的PrimeFaces渲染器。如果我配置F:觀點與renderKitId爲PRIMEFACES_MOBILE,呈現的按鈕:
<button id="j_idt6:j_idt7" name="j_idt6:j_idt7" type="submit" data-iconpos="left" onclick="PrimeFaces.ab({source:'j_idt6:j_idt7'});return false;">Oi</button>
這也行,符合市場預期。現在,添加MyFaces ExtVal jar,所有內容都會中斷,只有PRIMEFACES_MOBILE是組件的渲染器。爲了測試行爲,我添加了jar:myfaces-extval-bean-validation-2.0.5.jar,myfaces-extval-core-2.0.5.jar和myfaces-extval-property-validation-2.0.5.jar。然後,我刪除了renderKitId,使默認PrimeFaces庫應該可以使用,但再次的結果是:
<button id="j_idt6:j_idt7" name="j_idt6:j_idt7" type="submit" data-iconpos="left" onclick="PrimeFaces.ab({source:'j_idt6:j_idt7'});return false;">Oi</button>
我試圖迫使F中的renderKitId:以HTML_BASIC,但它一直呈現PrimeFaces的手機版命令按鈕。
所以,夥計們,你有什麼建議嗎?在RenderKitId的定義之前,我的系統沒問題,當我升級庫時,出現了這個錯誤。我發佈在PrimeFaces forum,但我看不到解決辦法,我不明白爲什麼會發生這種情況。
我試着用omnifaces-1.3-SNAPSHOT-20121106.jar,但我得到了同樣的行爲。 其實問題在於沒有特定的錯誤。真正發生的是,移動渲染套件被設置爲默認值,忽略了所需渲染套件的任何配置。在我的stackoverflow問題中,我放了一些步驟來重現,並且我只是用commandButton創建了一個簡單的視圖,並且看到了tomcat日誌,沒有任何反應,只是呈現的組件不是HTML_BASIC的一個。 確切的問題是與MyFaces Extval庫,如果我只是刪除他們的罐子一切正常工作。 – Fernando 2012-11-07 10:36:33
最好爲此添加一個MyFaces jira,但我確信OmniFaces可以在它們的庫中添加一個實用程序來解決這個問題。哦,我忘了要求您在顯示此行爲的頁面中添加啓用可恢復視圖組件,但您將不得不按照我在全局問題88中列出的測試步驟進行操作。最好還是添加功能請求以全方位解決問題跟蹤器以解決此問題問題,如果MyFaces jira沒有得到解決。 – Howard 2012-11-07 13:14:11