<rich:tabPanel switchType="client" id="w55">
<c:set var="menus" value="#{MenuBean.menus}" />
<c:forEach var="menu" items="#{MenuBean.menuHeader}"
varStatus="status">
<script>
addHeadMenuUrl('#{menu.action_value}');
</script>
<rich:tab label="#{menu.label_name}" name="#{menu.label_name}" rendered="#{menu.visible_ind}"
id="rrr_#{status.index}">
<h:panelGrid columns="${fn:length(menu.items)}">
<c:forEach var="menuitem" items="#{menu.items}"
varStatus="status1">
<c:choose>
<c:when test="${fn:length(menuitem.items) >=1}">
<rich:dropDownMenu>
<f:facet name="label">
<h:panelGroup>
<h:graphicImage value="#{menuitem.icon_name}" rendered="#{menuitem.visible_ind}"
styleClass="pic" />
<h:outputText value="#{menuitem.label_name}" />
</h:panelGroup>
</f:facet>
<c:forEach var="menuitem1" items="#{menuitem.items}">
<rich:menuItem value="#{menuitem1.label_name}" rendered="#{menuitem1.visible_ind}"
icon="#{menuitem1.icon_name}" submitMode="ajax"
title="#{menuitem1.action_value}">
<a4j:support event="onselect" reRender="targetFrame"
bind="#{MenuBean.menuUrl}">
<a4j:actionparam name="w"
value="'#{menuitem1.action_value}'"
assignTo="#{MenuBean.menuUrl}" noEscape="true" />
<a4j:actionparam name="w1" value="'#{menu.action_value}'"
assignTo="#{MenuBean.headerMenuUrl}" noEscape="true" />
</a4j:support>
</rich:menuItem>
</c:forEach>
</rich:dropDownMenu>
</c:when>
<c:otherwise>
<h:panelGroup>
<h:graphicImage value="#{menuitem.icon_name}" rendered="#{menuitem.visible_ind}"
styleClass="pic" />
<a4j:commandLink value="#{menuitem.label_name}" rendered="#{menuitem.visible_ind}"
onclick="var ret=frmwork_checkmenuclick(); if(ret==false) return false;"
title="#{menuitem.action_value}" reRender="targetFrame">
<a4j:actionparam name="w" value="'#{menuitem.action_value}'"
assignTo="#{MenuBean.menuUrl}" noEscape="true" />
<a4j:actionparam name="w1" value="'#{menu.action_value}'"
assignTo="#{MenuBean.headerMenuUrl}" noEscape="true" />
</a4j:commandLink>
</h:panelGroup>
</c:otherwise>
</c:choose>
</c:forEach>
</h:panelGrid>
<a4j:support event="ontabenter" reRender="targetFrame"
onsubmit="var ret=frmwork_checkmenuclick(); if(ret==false) return false;"
bind="#{MenuBean.menuUrl}">
<a4j:actionparam name="w" value="'#{menu.action_value}'"
assignTo="#{MenuBean.menuUrl}" noEscape="true" />
<a4j:actionparam name="w1" value="'#{menu.action_value}'"
assignTo="#{MenuBean.headerMenuUrl}" noEscape="true" />
</a4j:support>
</rich:tab>
</c:forEach>
</rich:tabPanel>
<script>
var menuInfo=[];
function addHeadMenuUrl(url){
menuInfo.push(url);
}
function frmwork_selectFirstMenu(){
var mu="#{MenuBean.menuUrl}";
if(mu==""){
var tabPanelId='frmwork_menu_form111:w55';
var tabId='frmwork_menu_form111:rrr_1';
var tabs=RichFaces.panelTabs[tabPanelId];
if(tabs==null) {
//alert("no menu data");
return;
}
var f=document.getElementById(tabs[0].id+"_shifted");
if(f){
f.onclick();
}
}
}
APPLICATION_PREVENSION_ESCAPE=true;
function frmwork_checkmenuclick(){
try{
//debugger;
var ret=checkApplicationClickInterval(1000);
if(ret==false) return false;
}catch(e){
}
}
function frmwork_showMenu(url,header){
if(header && header!="" && header!="1" ){
var index=-1;
var len=menuInfo.length;
for(var i=0;i<len;i++){
if(menuInfo[i]==header){
index=i;
}
};
if(index!=-1){
//alert(index);
}else{
index=0;
}
//alert(url+" --- "+header+" -- "+index+" -- "+menuInfo.join(","));
var tabPanelId='frmwork_menu_form111:w55';
var tabId='frmwork_menu_form111:rrr_'+index;
var tabs=RichFaces.panelTabs[tabPanelId];
RichFaces.switchTab(tabPanelId,tabId);
}
}
</script>
js:
APPLICATION_PREVENSION_CLICK=new Date();
APPLICATION_PREVENSION_ESCAPE=true;
function checkApplicationClickInterval(interval){
if(APPLICATION_PREVENSION_ESCAPE) {
APPLICATION_PREVENSION_ESCAPE=false;
return true;
}
APPLICATION_PREVENSION_ESCAPE=false;
var timeInterval=interval?interval:3000;
var d=new Date();
var interval=d-APPLICATION_PREVENSION_CLICK;
if(interval<timeInterval){
alert("You click too fast,please wait server response!");
return false;
}else{
APPLICATION_PREVENSION_CLICK=new Date();
return true;
}
};
分享到:
相关推荐
RichFaces的JS API也包含了一系列组件相关的API,例如`richfaces.selectOneMenu`,它提供了与富选择菜单组件交互的方法。开发者可以利用这些API来扩展或自定义组件的行为,以满足特定的应用场景需求。 在实际应用中...
### Richfaces标签详解 #### 一、概述 Richfaces是一个基于JavaServer Faces(JSF)技术的开源框架,提供了一套丰富的用户界面组件库。这些组件不仅具备强大的功能,还能很好地支持AJAX交互,极大地提高了Web应用...
**RichFaces中文开发文档概述** RichFaces是一款基于JavaServer Faces(JSF)技术的开源UI组件库,由JBoss组织开发。它为JSF应用程序提供了丰富的用户体验和强大的交互功能。这款框架极大地简化了Web开发过程,尤其...
Richfaces包含了一系列的富客户端组件,如数据网格、图表、日历、滑块等,这些组件支持AJAX技术,能够在不刷新整个页面的情况下更新部分网页内容,从而提高了应用的响应速度和用户体验。 **在线演示.txt** 文件可能...
### RichFaces 3.3 帮助文档关键知识点概览 #### 一、简介 - **RichFaces框架概述:** RichFaces是一个基于JavaServer Faces(JSF)的开源组件库,提供了大量的富客户端组件以及对皮肤的支持。该文档详细介绍了如何...
### RichFaces中的DataGrid显示数据 #### 一、RichFaces简介 RichFaces是一个基于JavaServer Faces(JSF)的开源框架,它提供了丰富的组件库来增强Web应用的用户体验。通过结合Ajax技术,RichFaces能够创建出更加...
《深入理解RichFaces UI 3.2.1在JBoss中的应用》 RichFaces UI 3.2.1是JBoss框架中一个重要的组件,它为开发人员提供了一套强大的AJAX(Asynchronous JavaScript and XML)功能,极大地提升了Web应用程序的交互性和...
**RichFaces 参考文档详解** RichFaces 是一个强大的 JavaServer Faces (JSF) 扩展库,专为创建交互式、富客户端Web应用程序而设计。这个“richfaces参考文档”是开发人员的重要资源,尤其是对初学者而言,它提供了...
RichFaces是一个开源框架,专注于将Ajax功能无缝集成到JavaServer Faces(JSF)应用程序中,无需依赖JavaScript。这个框架充分利用了JSF的生命周期、验证、转换工具以及资源管理功能。它提供的Ajax支持是完全集成到...
7. **数据绑定:** RichFaces 支持 EL(表达式语言)进行数据绑定,将 UI 控件的值与后台bean的属性关联起来。 8. **国际化和本地化:** RichFaces 提供了对多种语言的支持,方便创建多语言应用。 9. **源码学习:...
**RichFaces 开发指南概述** **1. 引言** RichFaces 是一个强大的 JavaServer Faces (JSF) 扩展框架,它提供了大量的富组件和皮肤可定制性支持。这个框架旨在帮助开发者创建功能丰富的、交互性强的Web应用程序,...
### RichFaces框架详解及其在IT行业的应用 #### 引言 在现代Web开发领域,提升用户体验和优化交互性是至关重要的。RichFaces作为一款开源框架,以其强大的Ajax能力、丰富的组件库以及高度可定制的特性,在Java...
在RichFaces中,Guava可能被用于提供高效的缓存、多线程支持和其他高级数据结构。 3. **richfaces-core-impl-4.0.0.Final.jar**:这是RichFaces核心实现的库,包含了许多基础服务和功能,如事件处理、Ajax支持、...
### RichFaces 3.2 用户手册知识点概览 #### 一、引言 RichFaces 3.2 是一款强大的框架,提供了丰富的组件库以及可定制化的皮肤支持,它旨在简化Web应用程序的开发过程,尤其在JavaServer Faces (JSF) 技术的基础...
关于richfaces的一些比较好的资料,希望大家看了能有收获
1. **RichFaces概述**:RichFaces是一个强大的JSF组件库,它提供了许多预构建的UI组件,如数据网格、日历、图表、对话框等,增强了用户体验并简化了开发过程。它还支持AJAX技术,使得页面更新无需完全刷新,提升了...