zoukankan      html  css  js  c++  java
  • jsf初学数据表(DataTable)的绑定

    来看看简单的datatable例子:

    faces:

    <h:form>
             <h:dataTable value="#{tableData.names}" var="name">
                <h:column>
                   #{name.last},
                </h:column>
    
                <h:column>
                   #{name.first}
                </h:column>
             </h:dataTable>
          </h:form>
    View Code

    在上面的页面中有几个属性值得注意,

    value:表示数据源,一般为List、ArrayList、数组等,是从bean得到的数据

    var:可以看着是数据源中的一条数据的别名。

    在看看bean如下:

    @Named // or @ManagedBean
    @SessionScoped
    public class TableData implements Serializable {
       private static final Name[] names = new Name[] {
           new Name("William", "Dupont"),
           new Name("Anna", "Keeney"),
           new Name("Mariko", "Randor"),
           new Name("John", "Wilson")
       };
    
       public Name[] getNames() { return names;}
    }
    View Code

    就这样一个简单datatable例子。

    在开发中一般表格都是有表头和表尾的,表头在DataTable中用<f:facet name="header">表示。修改下上面faces如下:

    <h:dataTable value="#{tableData.names}" var="name">
                <h:column>
                    <f:facet name="header">last</f:facet>
                    #{name.last},
                </h:column>
    
                <h:column>
                    <f:facet name="header">first</f:facet>
                   #{name.first}
                </h:column>
             </h:dataTable>
    View Code

    当然样式是可以自己控制的。

    二:

    在我们快速开发中特别是在MVC中使用HTML标签很多。这里还有一种方法来代替Datatable比如下面的例子:

    <table class="table-list">
                        <thead>
                            <tr>
                                <th></th>
                                <th style="140px">
                                    ISBN
                                </th>
                                <th style="182px">
                                    书名
                                </th>
                                <th>
                                    出版日期
                                </th>
                                <th>
                                    单价
                                </th>
                                
                            </tr>
                        </thead>
                         <tbody>
                             <ui:repeat value="#{summary.data}" var="name" varStatus="status">
                             <tr>
                                <td>#{status.index + 1}</td>
                                <td>
                                    #{name.isbn}
                                </td>
                                <td title="#{name.title}">
                                    <input type="text" readonly="readonly" value="#{name.title}" style="background-color:#FFFFFF; border:1px; 180px;" />
                                </td>
                                <td>
                                    #{name.pubdate}
                                </td>
                                <td>
                                    #{name.price}
                                </td>
                             </tr>
                             </ui:repeat>
                         </tbody>
                    </table>

    <ui:repeat>来代替DataTable。
    repeat的具体用法和datatable一样。。
  • 相关阅读:
    利用 SASS 简化 `nth-child` 样式的生成
    `http-equiv` meta 标签
    Currying 及应用
    理解 Redux 的中间件
    git clone 仓库的部分代码
    JavaScript Map 和 Set
    C++ 变量判定的螺旋法则
    CSS transition 的默认值
    `MediaDevices.getUserMedia` `undefined` 的问题
    MediaDevices.getUserMedia` undefined 的问题
  • 原文地址:https://www.cnblogs.com/xxtkong/p/3503964.html
Copyright © 2011-2022 走看看