對不起,問題標題,但我找不出一個更好的。RichFaces 4 - <a4j:ajax ...>「找不到RichFaces」
我正在使用JSF 2.0(MyFaces 2.0.2)並將RichFaces 4(4.0.0.20101004-M3)添加到我的項目中。 我發現RichFaces的4(http://java.sys-con.com/node/1098139)的示例,並且創建的XHTML頁用下面的代碼:
<ui:define name="webpage_main_body">
<h:form>
<h:panelGrid columns="2">
<h:outputText value="Text:" />
<h:inputText value="#{echoBean.text}">
<a4j:ajax event="keyup" render="text,count"
listener="#{echoBean.countListener}" />
</h:inputText>
<h:outputText value="Echo:" />
<h:outputText id="text" value="#{echoBean.text}" />
<h:outputText value="Count:" />
<h:outputText id="count" value="#{echoBean.count}" />
</h:panelGrid>
</h:form>
</ui:define>
由於這是一個Facelets的頁面,它使用定義標題的模板(包括徽標和主導航)。
如果我在瀏覽器中打開頁面,它會正確顯示。輸入框的的生成的HTML代碼如下:
<input type="text"
onkeyup="RichFaces.ajax("j_id1176210999_514e0f6c:j_id1176210999_514e0fad",event,{"parameters":{"javax.faces.behavior.event":"keyup"} })" value="" name="j_id1176210999_514e0f6c:j_id1176210999_514e0fad" id="j_id1176210999_514e0f6c:j_id1176210999_514e0fad">
是,如果我輸入內容的文本框,它應該開火使用JavaScript的功能每KEYUP一個Ajax傳請求的問題稱爲「RichFaces.ajax (......)」。但是每次在事件被觸發,Firefox的錯誤控制檯打印錯誤:
Error: RichFaces is not defined
Source File: http://localhost:8080/project/richEchoTest.xhtml
Line: 1
我的問題:有沒有人有這個地方的RichFaces-Javascript的對象定義的想法?還是有什麼我必須包括在XHTML頁面?我只包括「xmlns:a4j =」http://richfaces.org/a4j「,我是否也必須添加」xmlns:rich ....「?
在此先感謝,我真的會感謝所有幫助,因爲我已經浪費3天尋找到問題
//編輯: 我忘了提,如果我用內置的JSF2的Ajax標籤它就像一個魅力:
<f:ajax event="keyup" execute="@form" render="text count"
listener="#{echoBean.countListener}" />
我剛剛看到一條日誌消息:「警告:檢測到JavaServer Faces的MyFaces實現。使用RichFaces行爲包裝組件(a4j:ajax等)將不起作用!「我想這就是問題所在。 – 2010-11-11 09:15:50