7
A
回答
5
複合組件的繼承是不可能的。我們爲避免代碼重複所做的工作是修飾JSF2複合組件的實現。
通過我們的應用程序的所有輸入字段共有的東西是一個裝飾模板中提供的是這樣的:
<ui:composition xmlns="http://www.w3.org/1999/xhtml"
xmlns:cc="http://java.sun.com/jsf/composite"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:f="http://java.sun.com/jsf/core"
xmlns:ui="http://java.sun.com/jsf/facelets"
xmlns:cu="http://mytags.de/jsftags">
<!-- provides a common set of layout information for inputfields -->
<ui:param name ="fieldStyle" value="#{propertiesController.get('FIELD_STYLE', cc.attrs.name)}" />
<h:panelGroup id="basicInputField" styleClass="basicInputField" layout="block" style="width: #{cc.attrs.width}; height: #{cc.attrs.height};">
<ui:insert name="component">
no component given...
</ui:insert>
</h:panelGroup>
</ui:composition>
和複合組件使用模板來裝點自己:
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:cc="http://java.sun.com/jsf/composite"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:f="http://java.sun.com/jsf/core"
xmlns:ui="http://java.sun.com/jsf/facelets"
xmlns:cu="http://mytags.de/jsftags">
<cc:interface>
<cc:attribute name="name" required="true" />
<cc:attribute name="width" required="false" default="auto" />
<cc:attribute name="height" required="false" default="auto" />
<cc:attribute name="inset" required="false" default="0px" />
</cc:interface>
<cc:implementation>
<ui:decorate template="basicInputField.xhtml">
<ui:define name="component">
<h:inputText id="inputText" style="#{fieldStyle} width: 100%;" value="#{levelContent.test}" />
</ui:define>
</ui:decorate>
</cc:implementation>
</html>
這樣我們只需要改變裝飾模板,當我們獲取字段屬性的方式(即只讀,必需,樣式等)發生變化時。
相關問題
- 1. JSF 2:是否有可能繼承@ManagedBean?
- 2. JSF 2複合組件+ clientBehavior
- 3. 聚合和繼承關係
- 4. 在jsf中繼承
- 5. 繼承關係
- 6. 是否有可能在JSF 2中使用複合組件的模板?
- 7. JSF 2複合組件渲染問題
- 8. Angular 2組件繼承onClick
- 9. Angular 2繼承組件
- 10. Treeview繼承關係
- 11. 爲什麼在寄生組合中繼承是否需要複製原型?
- 12. MySQL表關係,繼承與否?
- 13. 繼承組合 - 武器系統
- 14. JSF 2:Ajax未在嵌套複合組件中觸發
- 15. JSF更新複合組件
- 16. JSF複合組件ID
- 17. JSF複合組件和selectItems
- 18. Spring3 + JSF複合組件
- 19. JSF複合組件Netbeans
- 20. JSF遞歸複合組件
- 21. JSF複合組件驗證
- 22. 組合vs繼承
- 23. 如何用繼承和組合關係生成C++類圖?
- 24. 在C++中繼承構圖關係
- 25. 在JavaScript中寄生組合繼承和組合繼承有什麼區別?
- 26. 繼承組分,其中延伸的現有JSF組件
- 27. SQLAlchemy子類/繼承關係
- 28. 繼承自has-a關係
- 29. Rails繼承關係問題
- 30. SQLAlchemy的,繼承和關係
我不確定要給出準確的答案,但我認爲在複合組件中,繼承的替代是子組件。參見:http://weblogs.java.net/blog/cayhorstmann/archive/2010/01/30/composite-input-components-jsf – sfrj 2011-10-20 20:06:14