有誰知道JSF 2.0組件有什麼好的資源嗎?我試圖開發一個文件上傳組件來教自己的JSF 2.0和Servlet 3.0,但我很難找到資源。我一直在看Mojarra 2.0.2源代碼,但似乎很多東西仍在使用JSF 1.x概念。任何見解都會被讚賞。JSF 2.0組件
回答
上週在Sun論壇上,有人發佈了一個自定義JSF 2.0文件上傳組件的例子,但它是在Apache Commons FileUpload API上構建的,代碼在這裏和那裏有幾處漏洞,但可能有足夠的信息開始。但要小心一些,這些缺陷是嚴重的:JavaServer Faces - Creating JSF 2.0 File Upload Component
巧合的是,我最近也在圍繞一個JSF 2.0文件上傳組件與新的Servlet 3.0 multipart支持一起玩這個想法,博客。這只是很難確定創建JSF 2.0自定義組件(@FacesComponent
)的方式,Google揭示了一些,只有this blog of Jim Driscoll有點用處。此外,它在Java EE 6教程中沒有解釋,甚至JSF 2.0規範也沒有提到。
更新:我得到它的工作,但有一個主要的缺點:我不能使用了Servlet 3.0 @MultipartConfig
註釋來指定上傳位置和最大文件大小。只有在Servlet
而不是Filter
上設置,纔會激活此功能。由於FacesServlet
被宣佈爲final
並且JSF沒有提供其他Servlet
在FacesServlet
開始之前處理請求的功能,所以我沒有看到任何使用註釋的乾淨方法。通常情況下,上傳位置將在註釋中進行配置,但通過使用Part#getInputStream()
而非Part#write()
,這很容易解決。如果沒有註釋,最大文件大小決不可配置,因此您必須忍受「無限大小的上傳」,以及您只能在上傳完成時驗證它的事實(這可能是另一個優勢,因爲最終用戶會面臨醜陋的HTTP 500錯誤)。
更新2::這裏的博客:http://balusc.blogspot.com/2009/12/uploading-files-with-jsf-20-and-servlet.html希望這有助於:)
我這裏有一些例子:http://mcatr.blogspot.com/search/label/JSF 希望它有助於
標準JSF組件不包括文件上傳組件。這個組件通常在第三方JSF組件庫中提供,例如myfaces,icefaces等...
目前我還不知道任何JSF 2.0組件庫已經準備好了(除了spec標準),所以我不知道任何JSF 2.0準備好的文件上傳組件。
我會強烈建議考慮看看到PrimeFaces:http://primefaces.org/
這是一個JSF內置組件套件(並且特別支持JSF 2.0),在開放源代碼許可下使用YahooUI,並支持您的文件上傳場景。
我在jsf 2中使用了相當不錯的primefaces,但上傳組件不穩定。您可以在論壇中看到討論 http://primefaces.prime.com.tr/forum/viewtopic.php?f=3&t=2626&p=12545&hilit=fileupload#p12545 http://primefaces.prime.com.tr /forum/viewtopic.php?f=3&t=2227&p=12469&hilit=fileupload#p12469 所以,雖然你可以使用其他jsf2東西的primefaces,你可能需要尋找其他地方的上傳組件。 – digitaljoel 2010-06-09 21:25:32
- 1. JSF 2.0計時器組件
- 2. JSF 2.0複合組件不工作
- 3. 使用Eclipse Indigo for JSF 2.0組件
- 4. JSF 2.0複合組件到罐子
- 5. 在CSS中定位JSF 2.0組件
- 6. 標準JSF 2.0組件集中的AutoSuggest組件
- 7. JSF 2.0和歡迎,文件
- 8. JSF 2.0文件上傳
- 9. JSF 2.0 javax.faces.webapp.FacesServlet mappig
- 10. JSF 2.0和TransformerFactory
- 11. Selenium和JSF 2.0
- 12. JSF 2.0 f:setPropertyActionListener
- 13. JSF 2.0編碼
- 14. 與JSF 2.0
- 15. 驗證不同的驗證組JSF 2.0
- 16. JSF 2.0加載束
- 17. 什麼是JSF 2.0
- 18. JSF 2.0 outputText呈現?
- 19. JSF 2.0 DataTable like component
- 20. JSF 2.0(Facelets)和Struts
- 21. JSF 2.0 selctOneMenu with SelectItems
- 22. 格式BigDecimal jsf 2.0
- 23. JSF 2.0 javascript onload/oncomplete
- 24. JSF 2.0 managedbeans問題!
- 25. JSF 2.0 RenderResponse和ResponseComplete
- 26. 使用XSLT的JSF 2.0自定義組件
- 27. 如何使用JSF 2.0複合組件實現動態列表?
- 28. JSF 2.0 + Primefaces:查找某種類型的所有子組件
- 29. JSF 2.0 - Myfaces在渲染複合組件時遇到問題
- 30. jsf 2.0複合組件 - 如何修改外部bean /屬性
我想我需要標準的JSF組件而不是複合組件。任何人都可以證實對我? – anthonator 2009-12-26 05:11:06
複合組件由標準組件組成,目的是消除一次又一次重複相同組件的需要。JSF標準實現沒有用於文件上傳的任何標準組件。 – BalusC 2009-12-26 14:33:15
好的,這就是我的想法,但我並不完全確定。感謝您的澄清。 – anthonator 2009-12-27 18:28:30