MenuBar是一个容器,里面可以放Menu。
表 30.91. 构件信息
| Renderer Type | org.operamasks.faces.widget.MenuBar |
| Tag Class | org.operamasks.faces.webapp.widget.UIMenuBarTag |
| Renderer Type | org.operamasks.faces.widget.MenuBar |
| Renderer Class(AJAX) | org.operamasks.faces.render.widget.ajax.AjaxMenuBarRenderer |
+java.lang.Object
++javax.faces.component.UIComponent
+++javax.faces.component.UIComponentBase
++++javax.faces.component.UICommand
+++++org.operamasks.faces.component.widget.menu.base.UIMenuBase
++++++org.operamasks.faces.component.widget.menu.UIMenu
表 30.92. 属性
| action | 定义类 | javax.faces.component.UICommand | ||
| 类型 | javax.el.MethodExpression(javax.el.MethodExpression) | |||
| 是否必须 | 否 | 延时求值 | 是 | |
| 特定Action事件激活时调用的方法 | ||||
| actionListener | 定义类 | javax.faces.component.UICommand | ||
| 类型 | javax.el.MethodExpression(javax.el.MethodExpression) | |||
| 是否必须 | 否 | 延时求值 | 是 | |
| 特定ActionEvent事件激活时调用的方法 | ||||
| autoExpand | 定义类 | |||
| 类型 | javax.el.ValueExpression(boolean) | |||
| 是否必须 | 否 | 延时求值 | 是 | |
| 是否自动展开 | ||||
| binding | 定义类 | javax.faces.component.UIComponentBase | ||
| 类型 | javax.el.ValueExpression(javax.faces.component.UIComponent) | |||
| 是否必须 | 否 | 延时求值 | 是 | |
| 一个值表达式,用于把该组件链接到一个ManagedBean的某个属性。 | ||||
| id | 定义类 | javax.faces.component.UIComponentBase | ||
| 类型 | java.lang.String | |||
| 是否必须 | 否 | 延时求值 | 否 | |
| 这个组件的组件标识符。这个值在最近的命名容器类型的父组件范围内,必须是唯一的。 | ||||
| jsvar | 定义类 | org.operamasks.faces.component.widget.menu.UIMenu | ||
| 类型 | javax.el.ValueExpression(java.lang.String) | |||
| 是否必须 | 否 | 延时求值 | 是 | |
| 客户端脚本使用的javascript变量名,引用脚本中Ext.menu.Menu对象 | ||||
| rendered | 定义类 | javax.faces.component.UIComponentBase | ||
| 类型 | boolean(boolean) | |||
| 是否必须 | 否 | 延时求值 | 是 | |
| 一个标志,指出该组件是否要在任何随后的form提交过程中被渲染或处理。 这个属性的缺省值是true。 | ||||
| style | 定义类 | org.operamasks.faces.component.widget.menu.UIMenu | ||
| 类型 | javax.el.ValueExpression(java.lang.String) | |||
| 是否必须 | 否 | 延时求值 | 是 | |
| 构件渲染时应用到构件的CSS风格,对应于元素的style属性 | ||||
| styleClass | 定义类 | org.operamasks.faces.component.widget.menu.UIMenu | ||
| 类型 | javax.el.ValueExpression(java.lang.String) | |||
| 是否必须 | 否 | 延时求值 | 是 | |
| 空格分隔的CSS风格类名列表,渲染时作为元素的"class"属性 | ||||
表 30.93. 常用方法
| addMenu | 方法签名 | public void addMenu(UIMenu menu) |
| 参数说明 | menu: 要添加的菜单构件。 | |
| 返回值 | 无返回值 | |
| 方法描述 | 追加一个菜单构件作为当前菜单的子菜单 | |
| addMenu | 方法签名 | public void addMenu(int index, UIMenu menu) |
| 参数说明 | index::插入位置。menu:待添加的菜单构件。 | |
| 返回值 | 无返回值 | |
| 方法描述 | 在指定位置插入一个菜单构件作为当前菜单的子菜单 | |
| addMenuItem | 方法签名 | public void addMenuItem(UIComponent item) |
| 参数说明 | item:待添加的子构件。可接受UICommandMenuItem、UICheckMenuItem、UIRadioMenuItem、UILinkMenuItem、UICalendar、UISeparator、HtmlOutputText、HtmlOutputLink、UIChooseSkin等类型的构件。 | |
| 返回值 | 无返回值 | |
| 方法描述 | 添加一个构件作为当前菜单的子构件。 | |
| addMenuItem | 方法签名 | public void addMenuItem(int index, UIComponent item) |
| 参数说明 | index:插入子构件的位置。item:待添加的子构件。 | |
| 返回值 | 无返回值 | |
| 方法描述 | 在指定位置插入一个构件作为当前菜单的子构件。 |
下面例子介绍了w:menuBar的用法,w:menuBar里面可以放一个或者多个w:menu:
<w:menuBar id="mymenu" action="#{MenuBean.menuAction}" autoExpand="false">
<w:menu label="文件">
<w:commandMenuItem image="images/new.gif" label="新建" />
<w:commandMenuItem image="images/open.gif" label="打开..."/>
<w:commandMenuItem image="images/save.gif" label="保存"/>
<w:commandMenuItem label="另存为..." disabled="true"/>
<w:separator/>
<w:linkMenuItem label="关闭" value="../index.html" onclick="return confirm('Are you sure?')"/>
</w:menu>
<w:menu label="编辑">
<w:commandMenuItem image="images/new.gif" label="撤销" />
<w:commandMenuItem image="images/new.gif" label="重做" />
</w:menu>
</w:menuBar>