我試圖使用ace:fileEntry
上傳圖片,因爲我讀取此組件需要從h:commandButton
提交以便開始下載。我的問題是,當我將ice:commandButton
與h:
進行切換時,我的託管bean(位於對話範圍中)被重新創建(調用@PostConstruct
),h:commandButton
中的方法以及fileEntryListener
不再被調用。
另一個可能導致這種情況的問題是,當我第一次進入我的頁面時,託管bean被創建,我打電話給對話開始,但是當我做第二個請求時(從commandLink
),託管bean被重新創建,開始一個新的對話,之後你可以玩多久你不想再次創建託管bean。
回到我的第一個問題,如果我有ice:commandButton
託管bean不會再次創建,如果它與h:
它被重新創建。
爲了增加一點樂趣,如果我從ace:fileEntry
中刪除呈現的屬性(解析爲true),將調用fileEntryListener
,但不會調用h:commandButton
的操作。
我試圖給組件添加顯式ID,試圖用h:form
更改ice:form
..沒事。
請幫忙。爲什麼它需要h:commandButton
,而不是ice:commandButton
,爲什麼新的JSF 2.0的東西f:selectItems
支持一個常規列表不起作用ice:selectOneMenu
,只適用於h:selectOneMenu
?怎麼了ICEfaces?爲什麼CDI不能按預期工作,而Seam 2也存在兩次對話的問題。ps2:如果我不導航到另一個視圖?cid=1
不存在於URL。ICEfaces 2.0和h:commandButton方法未調用,使用ice:commandButton一切正常
回答
現在,王牌:FileEntry的和h:的commandButton,重ason爲什麼ice:commandButton不能被使用是因爲它是一個AJAX組件,並且瀏覽器不會在AJAX提交中上傳文件。即使使用HTML5,它也不是自動的,必須使用新的File和XmlHttpRequest API。在HTML4瀏覽器中,只有完整頁面,完整表單和提交纔會上傳文件內容,而只有h:commandButton以這種方式運行。有關詳細信息,你可以看到在靠近頁面頂部此解釋:
http://wiki.icefaces.org/display/ICE/FileEntry
隨着我國冰:組件,這是H的擴展型:組件,比如冰:selectOneMenu用於,他們是由於客戶需要豐富的客戶端組件,我們一直專注於新的高級組件環境,所以缺乏一些新的JSF 2功能。另外,重點在於維護與ice組件的向後兼容性,以便於將客戶從ICEfaces 1.8.x遷移到ICEfaces 2.x,更不用說改變這些組件的行爲。但我們仍在積極維護和改進ice:組件,並且很快將添加新功能。隨意在我們的Jira系統中創建任何改進請求,並對任何現有條目進行投票,因爲這指導我們的發展重點。
- 馬克·科萊特
我是來自ICEfaces組件團隊的Mark Collette,希望我能回答您的一些問題。
大多數問題似乎與組件本身的問題相關的CDI集成更多。我知道症狀會根據您使用的組件而改變,但我認爲這是因爲ice:組件使用AJAX,而h:組件不使用。很多時候,與其他框架的集成問題在AJAX交互中比在整頁GET/POST交互中更明顯。所以你的問題可能是由於我們的CDI集成或你的應用程序的配置。因此,請查閱我們有關使用帶有CDI的ICEfaces的文檔,如果您仍然遇到任何問題,我建議將詳細信息發佈到我們的論壇。
http://wiki.icefaces.org/display/ICE/Using+ICEfaces+with+CDI
http://www.icefaces.org/JForum/forums/list.page
[很抱歉,但這個論壇不會讓我張貼超過2個鏈接,所以我將我的消息的其餘部分分裂成另一篇文章,並希望將工作]
- 馬克·科萊特
- 1. 使用h:commandButton切換rich:dataScroller
- 2. icefaces 3 fileEntry fileEntryListener沒有得到調用h:commandButton
- 3. 使用jsf 2.0 ajax庫調用方法
- 4. .NET 2.0:調用使用反射和泛型的方法導致異常
- 5. ICEFaces 1.8或2.0?
- 6. 如何在使用Icefaces時在標準組件(h:commandButton)上禁用unsollicited ajax?
- 7. h:commandButton動作沒有調用
- 8. 未正確調用構造方法
- 9. 有沒有辦法用h:commandButton調用方法而不用重新加載頁面?
- 10. 正在調用抽象方法中常用的方法嗎?
- 11. 正確使用jQuery切換方法
- 12. 在Wordpress中使用CSS3Pie ...做的一切正常,仍然無法正常工作
- 13. Gatling 2.0:無法調用setUp方法
- 14. jQuery使用.removeClass()和.addClass()無法正常工作切換類
- 15. 未調用GCDAsynSocketDelegate didReadData方法。使用GCDAsynSocket
- 16. 未使用mouseMoved調用PaintComponent()方法
- 17. 未調用didreaddata方法。使用asyncsocket
- 18. h:commandButton操作在兩次調用中只調用一次
- 19. 調用未定義方法的ConnectionManager ::的getInstance()CakePHP的ugrade 1.3〜2.0
- 20. Symfony 2.0:調用未定義的方法Doctrine \ DBAL \ Configuration :: getFilterSchemaAssetsExpression()
- 21. AVAudioPlayer和AVAudioRecorder:未調用代理方法
- 22. 調用未定義的方法CI_DB_mysqli_driver ::和()
- 23. 使用h:commandButton和Javascript的JSF導航
- 24. JSF 2.0 + Icefaces 2.0.0 Beta2和Tomcat 7失敗
- 25. 使用javascript調用bean方法
- 26. 與Recaptcha一起使用時,Ajax調用無法正常工作
- 27. 另一種方法中未解決的方法調用引用
- 28. 未按正確順序調用方法/異步方法
- 29. 在派生類和切片中使用operator =的正確方法
- 30. 未找到Cocos2d 2.0實例方法; reciever是一個正向類