ADF Faces 表格应用基础案例一:应用List<Class>填充文本表格

基础环境:

Oracle Fusion Middleware Tag Reference for Oracle ADF Faces

11g Release 2 (11.1.2.4.0)

E17491-06

<af:table>表格组件是ADF Faces的重要数据展现组件,更准确的描述是表格风格(或表格式)的数据展现组件,它可以通过绑定管理Bean或VO获得要展示的数据。本文介绍了基于Class作为数据模型,应用管理Bean实现表格内容填充的开发过程。

前置,创建基础工程(名称为“DemoTable”):

开发过程:

  1. 创建一个类(Class)作为表格行的数据模型。
  2. 创建JSPX页面以及表格组件。
  3. 通过后台管理Bean将数据发送给表格完成展现过程。

  1. 创建数据模型类,命名为TableRow,内涵3个属性:id,name,descr。

TableRow类代码:

package demo.table.app.view;

public class TableRow {
    private String id,name,descr;

    public TableRow(String id, String name, String descr) {
        super();
        this.id = id;
        this.name = name;
        this.descr = descr;
    }

    public void setId(String id) {
        this.id = id;
    }

    public String getId() {
        return id;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getName() {
        return name;
    }

    public void setDescr(String descr) {
        this.descr = descr;
    }

    public String getDescr() {
        return descr;
    }
}

2.创建JSPX页面以及表格组件。

新建JSPX页面,名为demo1.jspx

从右侧的组件清单中选择Table组件,拖拽至页面范围内。

IDE提示表格基础配置,这一步骤不做修改,直接完成,生成表格组件的默认代码。

同时IDE提示会辅助插入相关标签代码,点解确认按钮即可。

生成后的默认页面状态

此时页面中的源代码:顺便提一句,表格属性rowBandingInterval指的是间隔高亮显示的行数,0表示不设定。

<?xml version=‘1.0‘ encoding=‘UTF-8‘?>
<jsp:root xmlns:jsp="http://java.sun.com/JSP/Page" version="2.1" xmlns:af="http://xmlns.oracle.com/adf/faces/rich"
          xmlns:f="http://java.sun.com/jsf/core">
    <jsp:directive.page contentType="text/html;charset=UTF-8"/>
    <f:view>
        <af:document title="demo1.jspx" id="d1">
            <af:form id="f1">
                <af:table var="row" rowBandingInterval="0" id="t1">
                    <af:column sortable="false" headerText="col1" id="c1">
                        <af:outputText value="#{row.col1}" id="ot1"/>
                    </af:column>
                    <af:column sortable="false" headerText="col2" id="c2">
                        <af:outputText value="#{row.col2}" id="ot2"/>
                    </af:column>
                    <af:column sortable="false" headerText="col3" id="c3">
                        <af:outputText value="#{row.col3}" id="ot3"/>
                    </af:column>
                    <af:column sortable="false" headerText="col4" id="c4">
                        <af:outputText value="#{row.col4}" id="ot4"/>
                    </af:column>
                    <af:column sortable="false" headerText="col5" id="c5">
                        <af:outputText value="#{row.col5}" id="ot5"/>
                    </af:column>
                </af:table>
            </af:form>
        </af:document>
    </f:view>
</jsp:root>

3.通过后台管理Bean将数据发送给表格完成展现过程。

3.1创建管理Bean类,拥有列表属性“data”,初始化的时候实例化4个表格对象。

package demo.table.app.view;

import java.util.ArrayList;
import java.util.List;

public class TableBean {
    List<TableRow> data = new ArrayList<TableRow>();

    public TableBean() {
        super();
        data.add(new TableRow("1", "张三", "测试用户1"));
        data.add(new TableRow("2", "李四", "测试用户2"));
        data.add(new TableRow("3", "王五", "测试用户3"));
        data.add(new TableRow("4", "奥特曼", "测试用户4"));
    }

    public void setData(List<TableRow> data) {
        this.data = data;
    }

    public List<TableRow> getData() {
        return data;
    }
}

3.2注册管理Bean

3.3修改表格代码

在<af:table>标签中,增加“value="#{bean1.data}"”

修正列信息,与数据模型类的属性想对应:

<af:table var="row" rowBandingInterval="0" id="t1" value="#{bean1.data}">
    <af:column sortable="false" headerText="id" id="c1">
     <af:outputText value="#{row.id}" id="ot1"/>
  </af:column>
  <af:column sortable="false" headerText="name" id="c2">
     <af:outputText value="#{row.name}" id="ot2"/>
  </af:column>
  <af:column sortable="false" headerText="descr" id="c3">
     <af:outputText value="#{row.descr}" id="ot3"/>
  </af:column> 
</af:table>

至此即可运行工程查看结果,右键点击JSPX文件,选择“Run”菜单项:

运行效果如图:

将表格属性rowBandingInterval值修改为1,运行效果如图:

时间: 2024-10-02 19:44:11

ADF Faces 表格应用基础案例一:应用List<Class>填充文本表格的相关文章

ADF Faces 表格应用基础案例二:动态字段+事件处理【附样例工程】

本文提供一个基于ADF Face组件开发样例工程,实现表格开发中常见的处理: 1.Map对象+Bean对象填充表格的数据行. 2.使用静态列.动态列.嵌套列的实现方法. 3.介绍表格中表单组件的使用方法. 4.介绍表格单行选中事件的处理过程. 本文是基于"ADF Faces 表格应用基础案例一:应用List<Class>填充文本表格"编写的,会省去许多细节部分的介绍. 实现的基本思路: 将样例工程的创建过程分为几个小的阶段,每个阶段实现了不同的目标. 第一阶段: 表格数据:

ADF Faces导出Excel文件【附样例工程】

本文提供一个基于ADF Face组件开发样例工程,工程的实现过程分为3个部分以应对Excel导出开发中常见的处理. 1.空模版文件下载:将Excel文件视为普通文件提供下载操作. 2.数据文件输出,将数据内容输出为Excel文件,目标文件尽在服务端内存中存在,这种方式需要对Excel文件的内容处理,需要引入响应的类库. 3.模版文件填充数据后下载,基于服务端的物理文件为模板,将业务数据填入约定位置后提供下载,在实现方面需要为工作簿对象指定源文件输入流,并完成后续内容处理. 实现的基本思路,由AD

【9】了解Bootstrap栅格系统基础案例(4)

这次我们来说下嵌套列: 为了使用内置的栅格系统将内容再次嵌套,可以通过添加一个新的 .row 元素和一系列 .col-sm-* 元素到已经存在的 .col-sm-* 元素内.被嵌套的行(row)所包含的列(column)的个数不能超过12(其实,没有要求你必须占满12列). <!DOCTYPE html> <html lang="zh-cn"> <head> <meta charset="utf-8"> <!--

【8】了解Bootstrap栅格系统基础案例(3)

这次我们来说下列偏移: 列偏移就是使用 .col-md-offset-* 类可以将列向右侧偏移.这些类实际是通过使用 * 选择器为当前元素增加了左侧的边距(margin).例如,.col-md-offset-4 类将 .col-md-4 元素向右侧偏移了4个列(column)的宽度. 废话不多说,直接上代码 <!DOCTYPE html> <html lang="zh-cn"> <head> <meta charset="utf-8&

【10】了解Bootstrap栅格系统基础案例(5)

这次我们来说下列排序: 通过使用 .col-md-push-* 和 .col-md-pull-* 类就可以很容易的改变列(column)的顺序. <!DOCTYPE html> <html lang="zh-cn"> <head> <meta charset="utf-8"> <!-- Bootstrap不支持IE的兼容模式,加入此标签以确保在每个被支持的IE浏览器中保持最好的页面展现效果 --> <

&lt;EDEM 基础案例04&gt;Dynamic Domain

本案例包括以下几部分: 介绍 前提 问题描述 设置和求解 后处理 1-介绍 动态计算域(Dynamic Domain)是一种高效模拟大型颗粒床的方法,通过指定局部计算区域,减少计算时间. 案例重点: 2 建立动态计算域: 2 改变颗粒透明度: 2 设置跟踪几何体的相机: 2 设计录像: 2-前提 本案例假定用户熟悉Windows软件界面风格,并对EDEM界面较为熟悉. 3-问题描述 犁地模拟,设置一个运动的刀片,刀片会和颗粒床作用.为了加快模拟速度,在和刀片作用的颗粒区域设置动态计算域,动态计算

iview表格render小案例2

马上10.1了,在这里祝大家国庆节快乐,预祝我的祖国繁荣昌盛 iview表格render小案例2 这次是后端数据取出来比较复杂所以才这么写的 { title: "场馆名称", 这里应该会有一个key值,这次渲染数据删掉了 width: 200, render: (h, params) => { return h( "div", { style: { width: "100%", textAlign: "center" }

将HTML表格的每行每列转为数组,采集表格数据

将HTML表格的每行每列转为数组,采集表格数据 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 //将HTML表格的每行每列转为数组,采集表格数据 <? function get_td_array($table) { $table = preg_replace("'<table[^>]*?>'si","",$table); //OSPHP.COm.CN

Android基础入门教程——2.3.1 TextView(文本框)详解

Android基础入门教程--2.3.1 TextView(文本框)详解 标签(空格分隔): Android基础入门教程 本节引言: 学习完Android中的六大布局,从本节开始我们来一个个讲解Android中的UI控件,本节给大家带来的UI控件是:TextView(文本框),用于显示文本的一个控件,另外声明一点,我不是翻译API文档,不会一个个属性的去扣,只学实际开发中常用的,有用的,大家遇到感觉到陌生的属性可以查询对应的API!当然,每一节开始都会贴这一节对应API文档的链接:TextVie