JSF2允许定义一个composite组件,该组件由多个JSF组件构成。
1. 把index.xhtml中的h:dataTable转换为复合组件
选中h:dataTable整个范围,点击黄色灯泡,选择转换为复合组件。
接下来会提示你输入复合组件的名称、位置以及前缀。
out.xhtml位于目录resouces\ezcomp下,前缀是ez,其内容如下:
其中,cc:interface定义组件的接口,cc:implementation定义组件的实现。
2. 修改index.xhtml,使用复合组件替代原来内容
修改后的index.xhtml内容如下:
注意,xmlns:ez="http://java.sun.com/jsf/composite/ezcomp"这一行非常重要。
其中,ez是复合组件的前缀名称;ezcomp是保留目录resources下的一个目录。
3. 运行index.xhtml,应该显示和上一个实验一样的结果
1. 把index.xhtml中的h:dataTable转换为复合组件
选中h:dataTable整个范围,点击黄色灯泡,选择转换为复合组件。
接下来会提示你输入复合组件的名称、位置以及前缀。
out.xhtml位于目录resouces\ezcomp下,前缀是ez,其内容如下:
<?xml version='1.0' encoding='UTF-8' ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <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"> <!-- INTERFACE --> <cc:interface> </cc:interface> <!-- IMPLEMENTATION --> <cc:implementation> <h:dataTable value="#{customerSessionBean.customers}" var="c"> <f:facet name="header"> <h:outputText value="Customer Table" /> </f:facet> <h:column> <f:facet name="header">Customer Name</f:facet> #{c.name} </h:column> <h:column> <f:facet name="header">Customer ID</f:facet> #{c.customerId} </h:column> </h:dataTable> </cc:implementation> </html>
其中,cc:interface定义组件的接口,cc:implementation定义组件的实现。
2. 修改index.xhtml,使用复合组件替代原来内容
修改后的index.xhtml内容如下:
<?xml version='1.0' encoding='UTF-8' ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xmlns:ui="http://java.sun.com/jsf/facelets" xmlns:h="http://java.sun.com/jsf/html" xmlns:f="http://java.sun.com/jsf/core" xmlns:ez="http://java.sun.com/jsf/composite/ezcomp"> <body> <ui:composition template="./WEB-INF/template.xhtml"> <ui:define name="content"> <ez:out/> </ui:define> </ui:composition> </body> </html>
注意,xmlns:ez="http://java.sun.com/jsf/composite/ezcomp"这一行非常重要。
其中,ez是复合组件的前缀名称;ezcomp是保留目录resources下的一个目录。
3. 运行index.xhtml,应该显示和上一个实验一样的结果
没有评论:
发表评论