使用JSF中的<ig:Sidebar></ig:Sidebar>实现动态加载菜单,其中bar.getChildren().add(aSidebarGroup);是实现动态加载首节点,HtmlSidebarGroup aSidebarGroup = (HtmlSidebarGroup) application.createComponent(HtmlSidebarGroup.COMPONENT_TYPE);
aSidebarGroup.setText(boardName);
aSidebarGroup.setExpanded(true);
aSidebarGroup.setId(viewRoot.createUniqueId());实现加载该节点下的子节点,非常方便。
private Sidebar buildSideBar(Sidebar bar)
{
boolean isInitialised = bar.getAttributes().get("IS_INITIALISED")!=null;
if (!isInitialised) {
// Get a reference to the JSF Application,
// we need it to create value bindings later-on
Application application = FacesContext.getCurrentInstance().getApplication();
UIViewRoot viewRoot = FacesContext.getCurrentInstance().getViewRoot();
/* Create Infragistics SidebarGroup */
// Set the Sidebar's width and height
bar.getAttributes().put("style","width: 155px; height: 590px;");
// Create SidebarGroup
List list = this.getBoardNameForMenu();
for(int i = 0 ;i<list.size();i++)
{
Object[] row = (Object[])list.get(i);
//Object[] row = (Object[])list.listIterator().next();
String boardId = String.valueOf(row[0]);
String boardName = String.valueOf(row[1]);
String parentId = String.valueOf(row[2]);
HtmlSidebarGroup aSidebarGroup = (HtmlSidebarGroup) application.createComponent(HtmlSidebarGroup.COMPONENT_TYPE);
aSidebarGroup.setText(boardName);
aSidebarGroup.setExpanded(true);
aSidebarGroup.setId(viewRoot.createUniqueId());
// Add the newly created SidebarGroup to the Sidebar's children list
bar.getChildren().add(aSidebarGroup);
List ls = this.getBoardNameForMenuBar(Integer.parseInt(boardId));
if(ls.size() != 0)
{
for(int j=0;j<ls.size();j++)
{
Object[] row1 = (Object[])ls.get(j);
String boardid = String.valueOf(row1[0]);
String boardname = String.valueOf(row1[1]);
//HtmlSidebarGroup aSidebarGroup = (HtmlSidebarGroup) application.createComponent(HtmlSidebarGroup.COMPONENT_TYPE);
HtmlLink aLink1 = (HtmlLink)application.createComponent(HtmlLink.COMPONENT_TYPE);
aLink1.setId(viewRoot.createUniqueId());
//aSidebarGroup.setText(sidebarGroupNameStr);
//aSidebarGroup.setExpanded(true);
//aSidebarGroup.setId(viewRoot.createUniqueId());
//aLink1.setId(parentId);
aLink1.setUrl("/pages/bbs/visitor/topic/topicforboard.jsf?boardid="+boardid+"");
aLink1.setValue(boardname);
aSidebarGroup.getChildren().add(aLink1);
}
}
}
分享到:
相关推荐
jsf 控件速查手册,html格式。jsf标签使用培训教程。新手速查教程!
jsf 控件的说明,很实用
jsf控件的详细说明,内涵2个word文档,说明非常详细,适用,开发必备。
本例子演示了。jsf常用控件的例子。很好的。包括jsf大部分控件
JSF日历控件
jsf控件速查手册jsf控件速查手册jsf控件速查手册jsf控件速查手册
JSF2.xdatatable分页控件与左侧菜单最简单应用 JSF2.x,功能强大,使用方便。全世界使用JSF的人越来越多。而且也有很多很好的控件给发出来了,如:richfaces、primefaces、myfaces等,就日前来讲primefaces功能...
本文档将针对BIMP平台使用到的常见JSF Facelets标签集合进行阐述,供开发者日常开发工作期间参考。BIMP主要采用JSF(Facelets)前端组件技术实施Web 2.0,以提升用户体验,并达到快速、高质量实施产品或项目研发目的...
JSF2.xdatatable分页控件与左侧菜单最简单应用 JSF2.x,功能强大,使用方便。全世界使用JSF的人越来越多。而且也有很多很好的控件给发出来了,如:richfaces、primefaces、myfaces等,就日前来讲primefaces功能...
这是一个使用jsf框架实现简易登录功能的小例子,对于初学者可以参考一下。
java server face动态创建表单控件实例
JSF+hibernate实现批量删除,CRUD
JSF分页控件 ,支持大容量可查询分页 具体的分页可继承PagerBean
使用JSF框架实现JSF的动态数据的三级级联下拉框.
jsf实现多语言国际化demo
这是JSF标准的实现框架,一个是JSF2.0的官方实现,一个是JSF2.2的Apache MyFaces实现。
在java中的jsf页面上,动态生成表格
用jsf实现了分页,是将上一个jsp系统进行改造而成。有建表的sql语句,还用到了java反射。整个结构耦合度低,代码清晰易懂!
JSF实现的CRUD例子 myeclipse,未用数据库,加载到myeclipse里可以直接在tomcat里运行