`

Myfaces的tree2组件实例

    博客分类:
  • JSF
阅读更多
看了一下例子。主要是这样的:

XHTML中的部分代码:

<t:tree2 id="menuTree" value="#{menuBean.menuTree}" var="node"
clientSideToggle="true" varNodeToggler="t">
<f:facet name="root">#{node.description}</f:facet>
<f:facet name="child">
<h:panelGroup>
<f:facet name="expand">
<t:graphicImage value="images/yellow-folder-open.png"
rendered="#{t.nodeExpanded}" border="0" />
</f:facet>
<f:facet name="collapse">
<t:graphicImage value="images/yellow-folder-closed.png"
rendered="#{!t.nodeExpanded}" border="0" />
</f:facet>
<h:outputLink value="/XiangYun/pages/user/list.jsf">#{node.description}</h:outputLink>
</h:panelGroup>
</f:facet>
</t:tree2>

其中:#{menuBean.menuTree}是menuBean中的一个变量。是org.apache.myfaces.custom.tree2.TreeNodeBase类型。

MenuBean.java

public class MenuBean {
public MenuBean(){
menuTree =new TreeNodeBase("root","displayName",false);
menuTree.getChildren().add(new TreeNodeBase("child","displayName1","id1",true));
menuTree.getChildren().add(new TreeNodeBase("child","displayName2","id2",true));
TreeNode _treeChild =new TreeNodeBase("child","displayName5",false);
_treeChild.getChildren().add(new TreeNodeBase("child","displayName5-1",true));
menuTree.getChildren().add(_treeChild);
menuTree.getChildren().add(new TreeNodeBase("child","displayName3","id3",true));
menuTree.getChildren().add(new TreeNodeBase("child","displayName4","id4",true));
}
private TreeNode menuTree;

public TreeNode getMenuTree() {
return menuTree;
}

public void setMenuTree(TreeNode menuTree) {
this.menuTree = menuTree;
}
}

其中页面代码中的:

<f:facet name="root">是与menuBean中的new TreeNodeBase("root","displayName",false);对应的。表示这部分是渲染root的部分。这个"root"的名字可以自己定。但是两者要一致。child同理。还可以根据情况设置其他的。

TreeNodeBase的构造方法有三种:

TreeNodeBase()

TreeNodeBase(java.lang.String type, java.lang.String description, boolean leaf)
TreeNodeBase(java.lang.String type, java.lang.String description, java.lang.String identifier, boolean leaf)

最后一个参数表示是否是未级节点。把XHTML中的代码与bean 中的方法和构造方法联系起来看就比较容易了。第一个参数是type,也就是<f:facet name="root">对应的如何渲染的部分;第二个参数是description,也就是tree要显示的内容;第三个参数是treeNode的ID;第四个参数表示是否有下级节点。

分享到:
评论
1 楼 caoxiaohui 2009-04-02  
为什么写的都是一样的呢,都是这一个版本的!!!

相关推荐

    MyFaces组件最新源代码

    2. **组件开发**:Apache MyFaces的组件开发过程涉及到创建自定义JSF UI组件。这通常包括定义一个UIComponent子类,实现所需的行为,以及创建相应的Facelet标签以便在视图层使用。 3. **Tomahawk组件**:压缩包中的...

    myfaces-1.1.5

    2. **MyFaces 实现**:MyFaces 提供了 JSF 规范的完全实现,同时还提供了许多额外的功能,比如自定义组件、高级渲染器、性能优化以及更好的可扩展性。 3. **自定义组件**:MyFaces 允许开发者创建自己的 JSF 组件,...

    myfaces官方demo

    1. **示例代码**:这个Demo可能包含了各种MyFaces组件的实例,通过分析和运行这些代码,你可以了解每个组件的用法及其交互方式。 2. **教程**:通常,官方Demo会提供详细的说明文档,解释每个示例的目的和实现细节...

    Apache MyFaces Trinidad 2.0.0-beta-2

    Apache MyFaces Trinidad 2.0.0-beta-2 是一个基于JavaServer Faces (JSF) 2.0标准的开源Web开发框架。这个版本的Trinidad致力于为开发者提供丰富的用户界面组件,帮助他们构建功能强大的企业级Web应用程序。...

    myfaces-all.jar.zip

    2. **组件库**:MyFaces包含了一套丰富的自定义UI组件,如按钮、输入框、表格等,开发者可以使用这些组件快速构建用户界面。 3. **渲染器**:渲染器负责将UI组件转换为HTML或其他客户端可识别的格式,使得组件能在...

    JSF MyFaces 开发文档

    MyFaces还提供了一系列扩展组件和技术,如Ajax支持等,这些都有助于提高开发效率和用户体验。 #### 二、JSF Web Apache MyFaces概述 - **Apache MyFaces 1.2**:本版本是Apache MyFaces的一个重要版本,提供了对...

    myfaces api

    2. **视图处理**:JSF使用Facelets作为默认的视图描述语言,允许开发者使用XML语法来创建和组织UI组件。Facelets支持模板、导入、条件语句和迭代,使得视图设计更加灵活和模块化。 3. **请求生命周期**:JSF具有一...

    myfaces-core-1.2.6-bin.zip

    《MyFaces Core 1.2.6:Java服务器端组件框架的深度剖析》 MyFaces Core 1.2.6 是一个重要的开源项目,它属于JavaServer Faces (JSF) 技术的一部分,用于构建企业级的Web应用程序。JSF是Java EE平台中的一个标准...

    myfaces-core-2.0.1-bin.zip

    2. **Impl JARs**:这是MyFaces实现JSF规范的具体代码,如`myfaces-api.jar`和`myfaces-impl.jar`,它们提供了JSF规范的实现细节。 3. **Tomahawk Components**:MyFaces社区还开发了额外的组件集Tomahawk,它们...

    用JSF和MyFaces上传文件

    在JSF中,MyFaces是其中一个实现,它提供了丰富的组件库和扩展功能。在描述中提到,虽然Java Web标准如Servlets、JSP和JSF本身不直接支持文件上传功能,但可以通过第三方库如Apache Commons File Upload和Apache ...

    iceface-myfaces例子

    通过深入研究“sample-icefaces-myfaces-portlet.war”,开发者不仅可以学习到ICEfaces和MyFaces的基本用法,还能了解到portlet的开发流程,这对于构建企业级的、可复用的Web组件具有重要的参考价值。同时,这种集成...

    myfaces标签库

    1. **丰富的组件**: MyFaces提供了大量预定义的组件,如表格、树形菜单、日历等,满足不同应用场景的需求。 2. **高度可配置**: 组件支持多种配置选项,可以根据实际需求进行定制化设置。 3. **强大的事件处理机制**...

    myfaces-core-assembly-2.2.7-bin.zip

    2. **MyFaces Bundle**: `myfaces-bundle-2.2.7.jar` 是一个集成了MyFaces核心组件和其他依赖的便利包。这个文件可能包含了MyFaces的其他模块,如Tomahawk(提供额外的UI组件)或者Trinidad(提供更丰富的用户体验)...

    myfaces

    myfaces 的一个工程

    MyFaces 上下文参数详解(中、英文)

    此参数控制MyFaces是否将组件状态存储在会话中。默认值为`true`,意味着组件状态会在每个请求之间序列化并存储在用户的会话中。如果设置为`false`,状态将存储在HTTP响应的隐藏字段中,减少了会话内存使用,但可能...

    jsf2.0源碼(myfaces2.0.4 api+impl)

    2. **MyFaces Impl** `myfaces-impl-2.0.4.jad.jar` 文件提供了MyFaces对API的实现。这部分源码包含了JSF组件的实际行为、生命周期管理、事件处理等功能的具体实现。Impl的主要功能包括: - **生命周期管理**: JSF...

    myfaces tld

    MyFaces项目提供了一套完整的UI组件,这些组件在TLD文件中定义,以便于开发者在JSF应用中使用。例如,`jsftld-1.1-myfaces`这个压缩包文件名可能表示MyFaces的一个特定版本(1.1)的TLD集合。 MyFaces TLD文件通常...

    myfaces-all-1.1.1.jar

    《深入解析myfaces-all-1.1.1.jar:Java Web开发中的关键组件》 在Java Web开发领域,myfaces-all-1.1.1.jar是一个至关重要的组件,它是MyFaces项目的早期版本,专为JavaServer Faces (JSF)框架提供服务。本文将...

    myfaces-core

    2. **MVC架构**:MyFaces Core遵循MVC设计模式,其中Model代表业务逻辑,View负责展示,Controller处理用户交互。这种架构分离了职责,使得代码更易于维护和扩展。 3. **组件模型**:MyFaces Core提供了一套可重用...

    JSF及Myfaces帮助

    JSF及Myfaces帮助.CHM

Global site tag (gtag.js) - Google Analytics