Exadel Fiji
是对JSF一个扩展框架,用于对Flex进行完全封装.
该框架通过在JSF页面内集成JSF组件和Flex组件来扩展JSF. 程序员可以采用类似于JSF组件的方式来调用Fiji Felx组件.
例如以下效果:
其JSF代码如下
:
<ui:composition xmlns="http://www.w3.org/1999/xhtml"
xmlns:ui="http://java.sun.com/jsf/facelets"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:f="http://java.sun.com/jsf/core"
xmlns:a4j="http://richfaces.org/a4j"
xmlns:rich="http://richfaces.org/rich"
xmlns:fiji="http://exadel.com/fiji">
<h:panelGrid columns="2">
<fiji:barChart id="barChartMulti" value="#{BBeanMulti.commonData}"
title="Multi-series Bar Chart" subtitle="Beijing 2008 Olympic Games"
legendCaption="Medals" legendPosition="top" captionX="Medals Number"
captionY="Countries" barColors="#{BBeanMulti.totalColors}" width="350"
height="350" onitemclick="moveItem(event.x);return false;"
barCaption="none">
<fiji:chartData type="name" value="Total Medals Count" />
<fiji:chartData type="y" value="#{BBeanMulti.dataTotals}" />
</fiji:barChart>
<fiji:barChart id="selectedItemsChart" value="#{BBeanMulti.selectedData}"
title="Multi-series Bar Chart" subtitle="Results for Selected Country"
legendCaption="Medals" legendPosition="top" captionX="Medals Number"
captionY="Countries" barColors="#{BBeanMulti.colors}" width="350"
height="350" rulersValuesHighlight="none">
<fiji:chartData type="name" value="#{BBeanMulti.names}" />
</fiji:barChart>
</h:panelGrid>
<h:form>
<a4j:jsFunction action="#{BBeanMulti.showDetails}"
name="moveItem" ajaxSingle="true" oncomplete="$('selectedItemsChart:component').update();">
<a4j:actionparam name="param1"
assignTo="#{BBeanMulti.currentCountry}"></a4j:actionparam>
</a4j:jsFunction>
</h:form>
</ui:composition>
Bean代码如下
:
package com.exadel.fiji.demo.barChart;
import java.util.ArrayList;
import java.util.LinkedHashMap;
import java.util.Map;
public class BeanMulti {
private String currentCountry;
private String currentMedalType;
private Integer currentMedalsCount;
private ArrayList<Medal> currentCountryMedals = new ArrayList<Medal>();
private ArrayList<Medal> currentMedalsByType = new ArrayList<Medal>();
private Map<String, Integer> commonData = new LinkedHashMap<String,Integer>();
private Map<String, Integer[]> selectedData = new LinkedHashMap<String,Integer[]>();
private Map<String, Integer[]> data = new LinkedHashMap<String,Integer[]>();
private ArrayList<String> colors = new ArrayList<String>();
private ArrayList<String> totalColors = new ArrayList<String>();
private ArrayList<String> names = new ArrayList<String>();
private ArrayList<String> countries = new ArrayList<String>();
private Integer[] dataChn = new Integer[]{51, 21, 28};
private Integer[] dataUSA = new Integer[]{36, 38, 36};
private Integer[] dataRus = new Integer[]{23, 21, 28};
private Integer[] dataTotal = new Integer[]{0, 0, 0};
public BeanMulti() {
super();
generateData();
}
private void generateData() {
data.put("Russia", dataRus);
data.put("USA", dataUSA);
data.put("China", dataChn);
for (int i = 0; i < dataRus.length; i++) {
dataTotal[0]+=dataRus[i];
dataTotal[1]+=dataUSA[i];
dataTotal[2]+=dataChn[i];
}
commonData.put("Russia", dataTotal[0]);
commonData.put("USA", dataTotal[1]);
commonData.put("China", dataTotal[2]);
countries.add("Russia");
countries.add("USA");
countries.add("China");
names.add("Gold");
names.add("Silver");
names.add("Bronze");
colors.add("#DAA520");
colors.add("#C0C0C0");
colors.add("#B87333");
totalColors.add("51476B");
}
public Integer[] getMedalCountsByCountry(String currentCountry) {
if ("china".equals(currentCountry.toLowerCase())){
return dataChn;
}else if ("usa".equals(currentCountry.toLowerCase())){
return dataUSA;
}else if ("russia".equals(currentCountry.toLowerCase())){
return dataRus;
}
return null;
}
public void showDetails(){
Integer[] currentMedals = getMedalCountsByCountry(currentCountry);
selectedData.clear();
selectedData.put(currentCountry, currentMedals);
}
//Getters setters and other metods here
}
Exadel Fiji的开发参考请参考,今后再抽时间汉化过来:
http://www.exadel.com/fiji/guide
分享到:
相关推荐
JSF处理业务逻辑和数据管理,Flex负责前端展示,Fiji作为整个架构的支撑,提供模块化的服务和集成环境。这种混合开发模式可以充分利用各自技术的优势,提高开发效率并提供高质量的Web应用。 总结来说,Fiji框架与...
在IT行业中,集成开发环境(IDE)的扩展和配置是开发者日常工作中不可或缺的一部分。本文将详细介绍如何在MyEclipse 8.5中集成Flex 4.5,这是一款强大的Java EE开发工具与富互联网应用程序(RIA)开发框架的结合。 ...
JSF是一种用于构建Java Web 应用程序的标准框架(是Java Community Process 规定的JSR-127标准)。JSF(Java Server Faces)技术为开发基于网络用户界面的Java开发者提供了标准的编程接口API以及标签库。就像Struts框架...
- JBoss Seam是一个用于构建企业级应用程序的框架,可与JSF和RichFaces集成。 - 配置Seam以支持RichFaces组件。 #### Portlet支持 - 富客户端组件可以在Portlet容器中运行。 - 需要确保服务器支持portlet模式,并...
**JSF(JavaServer Faces)框架是Java平台上用于构建用户界面的一个强大工具,尤其适合企业级Web应用开发。本项目“JSF框架的demo项目”是一个简易的示例,旨在帮助初学者理解并掌握JSF的基本概念和用法。** 在JSF...
JSF可以与各种持久化框架如Hibernate或JPA集成,处理数据库交互。你可以创建DAO(数据访问对象)类来封装数据库操作,然后在Managed Bean中调用这些方法。 九、JSF实战 在JSF_27这个项目中,你可能会看到一个简单的...
**JSF框架入门教程** JavaServer Faces(JSF)是Java平台上的一种用于构建Web应用程序的MVC(模型-视图-控制器)框架。它由Oracle公司维护,是Java EE的一部分,旨在简化用户界面开发,提供组件化开发方式,并且与...
**JSF框架详解** JavaServer Faces(JSF)是Java平台上的一个标准的、用于构建Web应用程序的MVC(Model-View-Controller)框架。它为开发者提供了丰富的组件库和事件处理机制,使得开发人员可以更高效地创建交互式...
JSF框架利用了多种设计模式来提高其灵活性和可扩展性。 #### 三、详细设计模式分析 ##### 3.1 Singleton模式 Singleton模式的主要目标是确保一个类只有一个实例,并提供一个全局访问点。在JSF中,当支持Web应用...
在JavaServer Faces (JSF)框架中,`selectManyCheckbox`是用于创建多选框组件的一个核心组件。这篇名为“jboss selectManyCheckbox jsf扩展”的博文主要探讨了如何在JBoss环境中对这个组件进行自定义扩展,以满足...
JSF(JavaServer Faces)框架是一个用于构建Web应用程序的组件模型框架,由Oracle公司维护,是Java EE的一部分。本教程将引导初学者了解如何入门JSF框架,通过一个简单的伪登录界面实例,学习JSF的基本组件、受管...
### 京东JSF中间件简介 #### 一、概述 京东JSF(杰夫服务框架)是一款由京东自主研发的中间件产品,旨在解决大规模分布式系统中的服务治理和服务通信问题。随着业务规模的增长和技术发展的需求,京东原有的服务...
### 基于J2EE下的JSF与Struts框架比较分析 #### 一、引言 随着互联网技术的发展,企业级应用的需求日益增长,Java 2 Platform, Enterprise Edition (J2EE)作为一套全面的企业级Java应用开发平台,凭借其开放性、...
- **强大的扩展能力**:JSF框架可以方便地扩展,例如通过Shale这样的扩展框架来增加更多功能。 - **全面的集成**:JSF可以与其他Java EE组件如Spring和JPA进行集成。 ##### 市场和商业特性 - **广泛的采用**:JSF...
**JSF(JavaServer Faces)框架在企业级应用中的详解** JSF,全称为JavaServer Faces,是Java EE平台上的一个MVC(Model-View-Controller)框架,用于构建用户界面,尤其适用于企业级Web应用程序的开发。它提供了一...
**Ajax4jsf** 是RichFaces的一个早期版本,它是针对JSF的AJAX扩展,使得开发者可以轻松地在JSF应用中集成AJAX功能。Ajax4jsf提供了一套预定义的组件和行为,可以方便地在JSF页面上添加AJAX交互性,无需深入理解底层...
**JSF(JavaServer Faces)整合三大框架及Spring Security** JavaServer Faces (JSF) 是一个用于构建Web应用程序的Java EE组件模型和渲染框架。它为开发者提供了丰富的UI组件、事件处理机制和生命周期管理,使得...
JSF 结构JSF是一种用于构建Java Web 应用程序的标准框架(是Java Community Process 规定的JSR-127标准)。它提供了一种以组件为中心的用户界面(UI)构建方法,从而简化了Java服务器端应用程序的开发。由于由Java ...