`
iamlibo
  • 浏览: 69821 次
社区版块
存档分类
最新评论

MyFaces tree2

阅读更多

今天看了一下MyFaces的tree2组件,想用它做一个菜单。

看了一下例子。主要是这样的:

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;第四个参数表示是否有下级节点。


<!----> Technorati : jsf, myfaces

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

相关推荐

    myfaces

    myfaces 的一个工程

    myfaces-all.jar.zip

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

    myfaces-1.1.5

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

    iceface-myfaces例子

    2. **配置应用服务器**:根据应用服务器(如Tomcat、Jetty等)的要求,配置相应的Servlet容器以支持JSF和ICEfaces。这可能涉及修改web.xml文件,配置JSF的 FacesServlet 和 ICEfaces 的 AJAXFilter。 3. **页面设计...

    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 开发文档

    ##### 2. 组件模型 - **组件**:JSF中的核心概念之一是组件。组件是构成页面的基本单位,可以是按钮、文本框或其他UI元素。组件可以被嵌套在其他组件中,形成复杂的布局结构。 - **事件处理**:JSF组件支持事件...

    JSF及Myfaces帮助

    JSF及Myfaces帮助.CHM

    myfaces-impl2.2.chm api文件

    chm api myfaces jsf2.2

    myfaces-core-1.2.6-bin.zip

    2. **渲染器**:框架提供了多种渲染器,可以根据不同的客户端环境(如浏览器类型)将组件转化为适当的HTML标记。 3. **生命周期管理**:JSF应用有明确的生命周期,包括初始化、应用请求、处理事件、更新模型、应用...

    myfaces标签库

    ### MyFaces标签库知识点 #### 一、MyFaces简介 MyFaces是Apache软件基金会下的一个开源项目,它是一个实现JavaServer Faces(JSF)规范的框架。MyFaces提供了丰富的组件库,可以用来构建用户界面,简化Web应用开发...

    MyFaces组件最新源代码

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

    myfaces api

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

    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官方demo

    2. **渲染器**:MyFaces支持多种不同的渲染技术,可以根据浏览器或设备的特性生成适当的HTML、XML或其他格式的输出。 3. **生命周期管理**:JSF有自己的一套生命周期,包括初始化、应用请求值、处理验证、更新模型...

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

    MyFaces是JavaServer Faces (JSF)的一种实现,它是一个开源的、用于构建Web应用程序的Java框架。在MyFaces的应用中,配置上下文参数在`web.xml`文件中扮演着至关重要的角色。这些参数可以定制MyFaces的行为,优化...

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

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

    Hibernate 与 MyFaces的整合

    2. **数据绑定的复杂性**:MyFaces的组件,如“datascroller”,提供了与中间层交互的API,但数据绑定过程涉及接口与实现类间的紧密联系,增加了实现难度。 3. **会话与事务控制**:在整合场景下,如何有效地管理和...

    Apache MyFaces 1.1.6相关jar包

    进行jsf开发的相关jar包,采用Apache MyFaces 1.1.6版本.包含commons-beanutils-1.7.0,commons-collections-3.1,commons-digester-1.8,commons-el-1.0,commons-lang-2.1,commons-logging-1.1.1,jstl-1.1.0,...

    用JSF和MyFaces上传文件

    2. 用户提交表单后,浏览器将文件数据以及表单中的其他参数以multipart/form-data编码的方式发送到服务器。 3. 在服务器端,使用Apache Commons File Upload解析请求的InputStream,从中提取出每个文件项(FileItem...

    myfaces源代码

    2. **Component Library**:MyFaces包含了一系列预定义的UI组件,如按钮、输入字段、表格等,这些都是JSF的核心部分。通过源码,你可以看到这些组件是如何实现的,以及如何扩展或自定义它们。 3. **Lifecycle**:...

Global site tag (gtag.js) - Google Analytics