Java學習

          java,spring,structs,hibernate,jsf,ireport,jfreechart,jasperreport,tomcat,jboss -----本博客已經搬家了,新的地址是 http://www.javaly.cn 如果有對文章有任何疑問或者有任何不懂的地方,歡迎到www.javaly.cn (Java樂園)指出,我會盡力幫助解決。一起進步

           

          tomahawk JSF組件擴展組件(三)

          tomahawk JSF組件擴展組件(三)

          關鍵字: jsf

          <t:jsValueChangeListener>組件:

          Java代碼 復制代碼
          1. <h:panelGrid columns="2">  
          2.         <h:outputLabel for="text1" value="Text:"/>  
          3.         <h:inputText id="text1">  
          4.             <t:jsValueChangeListener for="text2" property="value" expressionValue="($srcElem.value=='yes')?'true':'false'" />  
          5.             <t:jsValueChangeListener for="text3" property="value" expressionValue="$srcElem.value" />  
          6.             <t:jsValueChangeListener for="text4" expressionValue="$destElem.innerHTML = $srcElem.value" />  
          7.             <t:jsValueChangeListener for="text5" expressionValue="($srcElem.value=='hide')?$destElem.style.display='none':$destElem.style.display='inline'" />  
          8.             <t:jsValueSet name="countryMap" value="#{countryList.countryMap}"/>  
          9.             <t:jsValueChangeListener for="text6" expressionValue="$destElem.innerHTML = countryMap[$srcElem.value]" />  
          10.         </h:inputText>  
          11.         <h:inputText id="text2"/>  
          12.         <h:inputText id="text3"/>  
          13.         <h:panelGroup id="text4" />  
          14.         <h:panelGroup id="text5" >  
          15.             <h:outputText value="Hide me - enter hide in first input-field."/>  
          16.         </h:panelGroup>  
          17.         <h:panelGroup id="text6" >  
          18.             <h:outputText value="Countryname - enter ISO Code in first input-field (e.g. AT)"/>  
          19.         </h:panelGroup>  
          20.         <h:panelGroup/>  
          21.         <h:selectOneMenu id="selone_menu_colors" value="red" styleClass="selectOneMenu">  
          22.             <f:selectItem itemValue="" itemLabel="#{example_messages['empty_selitem']}" />  
          23.             <f:selectItems value="#{carconf.colors}" />  
          24.             <t:jsValueChangeListener for="selone_menu_subcolors" expressionValue="($srcElem.options[$srcElem.selectedIndex].value=='color_black')?$destElem.style.display='inline':$destElem.style.display='none';"/>  
          25.         </h:selectOneMenu>  
          26.         <h:inputText id="selone_menu_subcolors"/>  
          27. </h:panelGrid>  

          <t:inputDate>組件的使用:

          <t:inputDate id="date3" value="#{date3}" type="both"/>

          type屬性可以是time或both等...

          <t:dataList>組件:

          Java代碼 復制代碼
          1. <t:dataList id="data3"  
          2.         styleClass="standardList"  
          3.         var="country"  
          4.         value="#{countryList.countries}"  
          5.         layout="orderedList">  
          6.         <h:inputText value="#{country.name}" />  
          7. </t:dataList>  

           

          <t:tree>組件:

          Java代碼 復制代碼
          1. <%  
          2.    if (pageContext.getAttribute("treeModel", PageContext.SESSION_SCOPE) == null) {  
          3.       DefaultMutableTreeNode root = new DefaultMutableTreeNode("XY");  
          4.       DefaultMutableTreeNode a = new DefaultMutableTreeNode("A");  
          5.       root.insert(a);  
          6.       DefaultMutableTreeNode b = new DefaultMutableTreeNode("B");  
          7.       root.insert(b);  
          8.       DefaultMutableTreeNode c = new DefaultMutableTreeNode("C");  
          9.       root.insert(c);  
          10.   
          11.       DefaultMutableTreeNode node = new DefaultMutableTreeNode("a1");  
          12.       a.insert(node);  
          13.       node = new DefaultMutableTreeNode("a2 ");  
          14.       a.insert(node);  
          15.       node = new DefaultMutableTreeNode("b ");  
          16.       b.insert(node);  
          17.   
          18.       a = node;  
          19.       node = new DefaultMutableTreeNode("x1");  
          20.       a.insert(node);  
          21.       node = new DefaultMutableTreeNode("x2");  
          22.       a.insert(node);  
          23.   
          24.       pageContext.setAttribute("treeModel"new DefaultTreeModel(root), PageContext.SESSION_SCOPE);  
          25.    }  
          26. %>  
          27.   
          28. <f:view>  
          29.   
          30.     <t:tree id="tree" value="#{treeModel}"  
          31.         styleClass="tree"  
          32.         nodeClass="treenode"  
          33.         selectedNodeClass="treenodeSelected"  
          34.         expandRoot="true">  
          35.     </t:tree>  
          36.   
          37. </f:view>  

           treeTable:

          Java代碼 復制代碼
          1. <t:tree id="tree" value="#{treeTable.treeModel}"  
          2.                     var="treeItem"  
          3.                     styleClass="tree"  
          4.                 nodeClass="treenode"  
          5.                 headerClass="treeHeader"  
          6.                 footerClass="treeFooter"  
          7.             rowClasses="a, b"  
          8.             columnClasses="col1, col2"  
          9.                 selectedNodeClass="treenodeSelected"  
          10.                 expandRoot="true">  
          11.             <h:column>  
          12.                     <f:facet name="header">  
          13.                     <h:outputText value="Header 1" />  
          14.             </f:facet>  
          15.             <h:outputText value="#{treeItem.isoCode}" />  
          16.         </h:column>  
          17.             <t:treeColumn>  
          18.                     <f:facet name="header">  
          19.                     <h:outputText value="Header 2" />  
          20.             </f:facet>  
          21.                     <h:outputText value="#{treeItem.name}" />  
          22.             </t:treeColumn>  
          23.             <h:column>  
          24.                     <f:facet name="header">  
          25.                     <h:outputText value="Header 3" />  
          26.             </f:facet>  
          27.                     <h:outputText value="#{treeItem.description}" />  
          28.         </h:column>  
          29.         <f:facet name="footer">  
          30.             <h:outputText value="Footer" />  
          31.         </f:facet>  
          32. </t:tree>  

           treeTable.java:

          Java代碼 復制代碼
          1. public TreeTable()  
          2.     {  
          3.         DefaultMutableTreeNode root = new DefaultMutableTreeNode(new TreeItem(1"XY""9001""XY 9001"));  
          4.         DefaultMutableTreeNode a = new DefaultMutableTreeNode(new TreeItem(2"A""9001""A 9001"));  
          5.         root.insert(a);  
          6.         DefaultMutableTreeNode b = new DefaultMutableTreeNode(new TreeItem(3"B""9001""B 9001"));  
          7.         root.insert(b);  
          8.         DefaultMutableTreeNode c = new DefaultMutableTreeNode(new TreeItem(4"C""9001""C 9001"));  
          9.         root.insert(c);  
          10.         DefaultMutableTreeNode node = new DefaultMutableTreeNode(new TreeItem(5"a1""9002""a1 9002"));  
          11.         a.insert(node);  
          12.         node = new DefaultMutableTreeNode(new TreeItem(6"a2""9002""a2 9002"));  
          13.         a.insert(node);  
          14.         node = new DefaultMutableTreeNode(new TreeItem(7"a3""9002""a3 9002"));  
          15.         a.insert(node);  
          16.         node = new DefaultMutableTreeNode(new TreeItem(8"b""9002""b 9002"));  
          17.         b.insert(node);  
          18.         a = node;  
          19.         node = new DefaultMutableTreeNode(new TreeItem(9"x1""9003""x1 9003"));  
          20.         a.insert(node);  
          21.         node = new DefaultMutableTreeNode(new TreeItem(9"x2""9003""x2 9003"));  
          22.         a.insert(node);  
          23.         this.treeModel = new DefaultTreeModel(root);  
          24.     }  
          25.     /** 
          26.      * @return Returns the treeModel. 
          27.      */  
          28.     public DefaultTreeModel getTreeModel()  
          29.     {  
          30.         return treeModel;  
          31.     }  

          <t:tree2>組件:

          Java代碼 復制代碼
          1. <!-- clientSideToggle="false"指是否一次過從服務器下載結點信息.showRootNode="false"指是否顯示根結點 -->  
          2. <t:tree2 id="serverTree" value="#{treeBacker.treeData}" var="node" varNodeToggler="t" clientSideToggle="false" showRootNode="false">    
          3.         <f:facet name="person">  
          4.             <h:panelGroup>  
          5.                 <t:graphicImage value="/images/yellow-folder-open.png" rendered="#{t.nodeExpanded}" border="0"/>  
          6.                 <t:graphicImage value="/images/yellow-folder-closed.png" rendered="#{!t.nodeExpanded}" border="0"/>  
          7.                 <h:outputText value="#{node.description}" styleClass="nodeFolder"/>  
          8.             </h:panelGroup>  
          9.         </f:facet>  
          10.         <f:facet name="foo-folder">  
          11.             <h:panelGroup>  
          12.                 <t:graphicImage value="/images/yellow-folder-open.png" rendered="#{t.nodeExpanded}" border="0"/>  
          13.                 <t:graphicImage value="/images/yellow-folder-closed.png" rendered="#{!t.nodeExpanded}" border="0"/>  
          14.                 <h:outputText value="#{node.description}" styleClass="nodeFolder"/>  
          15.                 <h:outputText value=" (#{node.childCount})" styleClass="childCount" rendered="#{!empty node.children}"/>  
          16.             </h:panelGroup>  
          17.         </f:facet>  
          18.         <f:facet name="bar-folder">  
          19.             <h:panelGroup>  
          20.                 <t:graphicImage value="/images/blue-folder-open.gif" rendered="#{t.nodeExpanded}" border="0"/>  
          21.                 <t:graphicImage value="/images/blue-folder-closed.png" rendered="#{!t.nodeExpanded}" border="0"/>  
          22.                 <h:outputText value="#{node.description}" styleClass="nodeFolder"/>  
          23.                 <h:outputText value=" (#{node.childCount})" styleClass="childCount" rendered="#{!empty node.children}"/>  
          24.             </h:panelGroup>  
          25.         </f:facet>  
          26.         <f:facet name="document">  
          27.             <h:panelGroup>  
          28.                 <h:commandLink immediate="true" styleClass="#{t.nodeSelected ? 'documentSelected':'document'}" actionListener="#{t.setNodeSelected}">  
          29.                     <t:graphicImage value="/images/document.png" border="0"/>  
          30.                     <h:outputText value="#{node.description}"/>  
          31.                     <f:param name="docNum" value="#{node.identifier}"/>  
          32.                 </h:commandLink>  
          33.             </h:panelGroup>  
          34.         </f:facet>  
          35.     </t:tree2>  

           

          也可以使用<h:panelGrid>組件做為<f:fact>的子組件,并設置cellpadding和cellspacing屬性,以取得好有布局.

          Java代碼 復制代碼
          1. <f:facet name="foo-folder">  
          2.                 <h:panelGrid id="b" columns="2" cellpadding="2" cellspacing="0">  
          3.                     <t:graphicImage value="/images/yellow-folder-open.png" rendered="#{t.nodeExpanded}" border="0"/>  
          4.                     <t:graphicImage value="/images/yellow-folder-closed.png" rendered="#{!t.nodeExpanded}" border="0"/>  
          5.                     <h:panelGroup>  
          6.                         <h:outputText value="#{node.description}" styleClass="nodeFolder"/>  
          7.                         <h:outputText value=" (#{node.childCount})" styleClass="childCount" rendered="#{!empty node.children}"/>  
          8.                     </h:panelGroup>  
          9.                 </h:panelGrid>  
          10. </f:facet>  

           treeData:

          Java代碼 復制代碼
          1. public TreeNode getTreeData()  
          2.     {  
          3.         TreeNode treeData = new TreeNodeBase("foo-folder""Inbox"false);  
          4.         // construct a set of fake data (normally your data would come from a database)  
          5.         // populate Frank's portion of the tree  
          6.         TreeNodeBase personNode = new TreeNodeBase("person""Frank Foo"false);  
          7.         personNode.getChildren().add(new TreeNodeBase("foo-folder""Requires Foo"false));  
          8.         TreeNodeBase folderNode = new TreeNodeBase("foo-folder""Requires Foo Reviewer"false);  
          9.         folderNode.getChildren().add(new TreeNodeBase("document""X050001"true));  
          10.         folderNode.getChildren().add(new TreeNodeBase("document""X050002"true));  
          11.         folderNode.getChildren().add(new TreeNodeBase("document""X050003"true));  
          12.         personNode.getChildren().add(folderNode);  
          13.         personNode.getChildren().add(new TreeNodeBase("foo-folder""Requires Foo Recommendation"false));  
          14.         folderNode = new TreeNodeBase("foo-folder""Requires Foo Approval"false);  
          15.         folderNode.getChildren().add(new TreeNodeBase("document""J050001"true));  
          16.         folderNode.getChildren().add(new TreeNodeBase("document""J050002"true));  
          17.         folderNode.getChildren().add(new TreeNodeBase("document""J050003"true));  
          18.         folderNode.getChildren().add(new TreeNodeBase("document""E050011"true));  
          19.         folderNode.getChildren().add(new TreeNodeBase("document""R050002"true));  
          20.         folderNode.getChildren().add(new TreeNodeBase("document""C050003"true));  
          21.         personNode.getChildren().add(folderNode);  
          22.         folderNode = new TreeNodeBase("bar-folder""Requires Bar Processing"false);  
          23.         folderNode.getChildren().add(new TreeNodeBase("document""X050003"true));  
          24.         folderNode.getChildren().add(new TreeNodeBase("document""X050011"true));  
          25.         folderNode.getChildren().add(new TreeNodeBase("document""F050002"true));  
          26.         folderNode.getChildren().add(new TreeNodeBase("document""G050003"true));  
          27.         personNode.getChildren().add(folderNode);  
          28.         folderNode = new TreeNodeBase("bar-folder""Requires Bar Approval"false);  
          29.         folderNode.getChildren().add(new TreeNodeBase("document""J050006"true));  
          30.         folderNode.getChildren().add(new TreeNodeBase("document""J050007"true));  
          31.         personNode.getChildren().add(folderNode);  
          32.         treeData.getChildren().add(personNode);  
          33.         // populate Betty's portion of the tree  
          34.         personNode = new TreeNodeBase("person""Betty Bar"false);  
          35.         personNode.getChildren().add(new TreeNodeBase("foo-folder""Requires Foo"false));  
          36.         folderNode = new TreeNodeBase("foo-folder""Requires Foo Reviewer"false);  
          37.         folderNode.getChildren().add(new TreeNodeBase("document""X012000"true));  
          38.         folderNode.getChildren().add(new TreeNodeBase("document""X013000"true));  
          39.         folderNode.getChildren().add(new TreeNodeBase("document""X014000"true));  
          40.         personNode.getChildren().add(folderNode);  
          41.         folderNode = new TreeNodeBase("foo-folder""Requires Foo Recommendation"false);  
          42.         folderNode.getChildren().add(new TreeNodeBase("document""J010026"true));  
          43.         folderNode.getChildren().add(new TreeNodeBase("document""J020002"true));  
          44.         folderNode.getChildren().add(new TreeNodeBase("document""J030103"true));  
          45.         folderNode.getChildren().add(new TreeNodeBase("document""E030214"true));  
          46.         folderNode.getChildren().add(new TreeNodeBase("document""R020444"true));  
          47.         folderNode.getChildren().add(new TreeNodeBase("document""C010000"true));  
          48.         personNode.getChildren().add(folderNode);  
          49.         personNode.getChildren().add(new TreeNodeBase("foo-folder""Requires Foo Approval"false));  
          50.         folderNode = new TreeNodeBase("bar-folder""Requires Bar Processing"false);  
          51.         folderNode.getChildren().add(new TreeNodeBase("document""T052003"true));  
          52.         folderNode.getChildren().add(new TreeNodeBase("document""T020011"true));  
          53.         personNode.getChildren().add(folderNode);  
          54.         folderNode = new TreeNodeBase("bar-folder""Requires Bar Approval"false);  
          55.         folderNode.getChildren().add(new TreeNodeBase("document""J010002"true));  
          56.         folderNode.getChildren().add(new TreeNodeBase("document""J030047"true));  
          57.         folderNode.getChildren().add(new TreeNodeBase("document""F030112"true));  
          58.         personNode.getChildren().add(folderNode);  
          59.         treeData.getChildren().add(personNode);  
          60.         return treeData;  
          61.     }  

          <t:collapsiblePanel>組件:

          Java代碼 復制代碼
          1. <t:collapsiblePanel collapsed="#{collapsiblePanelBean.collapsed}" value="testTitle">  
          2.         <h:panelGrid>  
          3.             <h:outputText value="Test"/>  
          4.             <h:inputText value="test2"/>  
          5.             <t:inputCalendar value="" renderAsPopup="true"/>  
          6.         </h:panelGrid>  
          7. </t:collapsiblePanel>  

          posted on 2008-09-01 13:15 找個美女做老婆 閱讀(424) 評論(0)  編輯  收藏


          只有注冊用戶登錄后才能發表評論。


          網站導航:
           

          導航

          統計

          公告

          本blog已經搬到新家了, 新家:www.javaly.cn
           http://www.javaly.cn

          常用鏈接

          留言簿(6)

          隨筆檔案

          文章檔案

          搜索

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 肇庆市| 孟村| 新源县| 修文县| 綦江县| 八宿县| 万年县| 确山县| 印江| 汉沽区| 桃园县| 柏乡县| 黄大仙区| 长治县| 临夏县| 西乡县| 惠来县| 宜城市| 方山县| 维西| 临沂市| 晋州市| 临湘市| 都昌县| 府谷县| 永康市| 炉霍县| 杭锦旗| 旺苍县| 竹北市| 万安县| 田东县| 大同市| 开化县| 治县。| 儋州市| 花垣县| 那坡县| 永州市| 惠安县| 南京市|