`

ECSide标签

 
阅读更多

1:需要ecside包

2:编写ecside.tld,包含所用到的标签,标签属性,标签属性的说明等。放到WEB-INF目录下即可。

<%@ taglib uri="http://www.ecside.org" prefix="ec" %>

<meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
<link rel="stylesheet" type="text/css" href="Admin/ecside/css/ecside_style.css">
<script type="text/javascript" src="Admin/ecside/js/prototype_mini.js"></script>
<script type="text/javascript" src="Admin/ecside/js/ecside_msg_utf8_cn.js"></script>
<script type="text/javascript" src="Admin/ecside/js/ecside.js"></script>

3:在web.xml添加

         <filter>
        <filter-name>ecsideExport</filter-name>
        <filter-class>org.ecside.filter.ECSideFilter</filter-class>
        <init-param>
            <param-name>useEasyDataAccess</param-name>
            <param-value>false</param-value>
        </init-param>
        <init-param>
            <param-name>useEncoding</param-name>
            <param-value>false</param-value>
        </init-param>
        <init-param>
            <param-name>encoding</param-name>
            <param-value>UTF-8</param-value>
        </init-param>
    </filter>
    <filter-mapping>
        <filter-name>ecsideExport</filter-name>
        <url-pattern>/*</url-pattern>
    </filter-mapping>

4:常用标签用法

1.
<ec:table
items="presidents"
var="pres"
imagePath="${pageContext.request.contextPath}/images/*.gif"
action="${pageContext.request.contextPath}/presidents.run"
filterable="false"
sortable="false" >
...
</ec:table>

<ec:table>里的属性还有:
a.   rowsDisplayed,rowsDisplayed也可以在extremecomponents.properties文件中设定
b.   showPagination ,如果你想在一页中显示所有行,只需要设置showPagination为false。
c.   TableTag关联了很多样式属性:

<ec:table cellspacing="0" cellpadding="0" border="0" width="80%" style="" styleClass="" />
所有这些都是可选的。


2.
使用highlightRow属性可以设置行的高亮显示,它的值为true或false,默认值为false。

<ec:table items="presidents" var="pres" action="${pageContext.request.contextPath}/presidents.run" >
<ec:row highlightRow="true">   
   <ec:column property="name"/>  
   <ec:column property="term"/>
</ec:row>
</ec:table>
设置highlightRow属性后,它将插入设置行css类的javascript脚本,默认的css 类为highlight。你可以使用highlightClass来使用定制的css类。

3.
为了便于你对于行数据进行动态交互处理,提供了onclick、onmouseover和 onmouseout属性。

<ec:row onclick="" onmouseover="" onmouseout="" />


4.
RowTag关联了很多样式属性:

<ec:row style="" styleClass="" highlightClass="" />


5.

提供可选取值方法的主要原因是使你能够对其他类型的html标签提供动作支持,例如显示 一幅图片或者通过定义href使该列成为到其它页的一个链接。

<ec:table items="presidents" var="pres" action="${pageContext.request.contextPath}/presidents.run" >
<ec:row>   
   <ec:column property="lastName">     
   <a href="http://goto.president.detail">${pageScope.pres.lastName}</a>  
   </ec:column>
</ec:row>
</ec:table>


6。
<ec:column property="time" title="时间" parse="yyyy-MM-dd" format="yyyy年MM月dd日" cell="date"/>


7。
TableTag中有filterable和sortable属性,ColumnTag中也有相同的属性。 列的filterable和sortable属性将覆盖表的filterable和sortable属性设置。当你需要除了对表中的一、两列之外的 所有列进行过滤和排序时,十分便利。

<ec:table items="presidents" action="${pageContext.request.contextPath}/presidents.run" >
<ec:row>   
   <ec:column property="firstName" filterable="false"/>
   <ec:column property="lastName" sortable="false"/>
</ec:row>
</ec:table>


8。视图问题:

viewsAllowed属性制定类允许使用的视图。视图包括:html、pdf、xls、csv,以及任何定制的视图。 如果你指定一个或几个视图,那么列仅能使用这些指定的视图。例如:你指定viewsAllowed="pdf",这意味着 这列只允许PDF导出,而不能进行其他格式的导出或html视图。

<ec:table items="presidents" action="${pageContext.request.contextPath}/presidents.run" >
<ec:row>  
   <ec:column property="firstName"/>
   <ec:column property="lastName" viewsAllowed="pdf"/>
</ec:row
</ec:table>
viewsDenied属性制定类不允许使用的视图。视图包括:html、pdf、xls、csv,以及任何定制的视图。 如果你指定一个或几个视图,那么列仅这些指定的视图不能被使用。例如:你指定viewsDenied="html",这意味着 这列不允许使用html试图,但能进行任何形式的导出。

<ec:table items="presidents" action="${pageContext.request.contextPath}/presidents.run" >
<ec:row>
   <ec:column property="firstName"/>
   <ec:column property="lastName" viewsDenied="html"/>
</ec:row>
</ec:table>


9。ParameterTag

eXtremeTable能够指定是否处理所有的参数。默认为处理所有的参数,这意味着当你进行 过滤、排序、分页时,所有的参数都被eXtremeTable保存并传到JSP中。通常这是你需要的功能, 然而,有时候你需要只允许一些特定的参数保存到eXtremeTable中。我喜欢把它看作锁定extremeTable, 可以通过设置表的autoIncludeParameters属性值为false来到达目的:

<ec:table items="presidents" action="${pageContext.request.contextPath}/presidents.run" autoIncludeParameters=”false” >
...
</ec:table>
甚至当表被锁定时,你仍然可以通过简单地使用parameter标签来包含一些你想使用的参数。下例 包含了foo参数:

<ec:table items="presidents" action="${pageContext.request.contextPath}/presidents.run" autoIncludeParameters=”false” >
<ec:parameter name=”foo” value=”${param.foo}”/>
...
</ec:table>
现在所有的eXtremeTable参数都被锁定。但过滤、排序和翻页时,foo参数仍将被传递。


10. .propeties取代

为了替代硬编码eXtremeTable使用的默认属性值,我在属性文件中配置所有用到的属性。 如果你需要覆盖任何默认的设置,你可以创建自己的extremecomponents.properties文件 并设置你想改变的值。

为了设置属性文件,你应该如下例所示在/WEB-INF/web.xml文件中声明一个context-param,并 指定你的属性文件的路径:

<context-param> <param-name>extremecomponentsPreferencesLocation</param-name> <param-value>/org/extremesite/resource/extremecomponents.properties</param-value></context-param>
你可以认为属性文件为你提供了一个对所有的eXtremeTables声明全局设置的一个方法。 创建属性文件的最大好处就是避免在标签中复制、粘贴相同的属性。典型的extremecomponents.properties文件如下所示:

table.imagePath=/extremesite/images/*.gif
table.rowsDisplayed=12
column.parse.date=yyyy-MM-dd
column.format.date=MM/dd/yyyy
column.format.currency=$###,###,##0.00

 

在属性文件定义的TableTag使用最多的两个属性是:imagePath和rowsDisplayed。如果你不在属性文件中声明 这些属性,你需要在每个eXtremeTable中添加他们。典型的表如下所示:

<ec:table items="presidents" action="${pageContext.request.contextPath}/presidents.run" imagePath="${pageContext.request.contextPath}/images/*.gif" rowsDisplayed="12" title="Presidents" > ...</ec:table>
如果在属性文件声明imagePath和rowsDisplayed,则表如下所示:

<ec:table items="presidents" action="${pageContext.request.contextPath}/presidents.run" title="Presidents" > ...</ec:table>
正如你所见,属性文件避免了重复编码。


在属性文件定义的ColumnTag使用最多的两个属性是:parse和format。如果你不在属性文件中声明 这些属性,你需要在每个eXtremeTable中添加他们。典型的列使用日期cell如下所示:

<ec:column property="dateOfBirth" cell=”date” parse=”yyyy-MM-dd” format=”MM/dd/yyyy”/>
如果在属性文件声明parse和format,则列如下所示:

<ec:column property="dateOfBirth" cell=”date”/>
当然你仍然可以定义parse和format属性来覆盖全局设置,但是大多数工程对于日期使用一致的parse 和format。需要注意属性文件中parse.date和format.date的声明语法。

下例为使用货币cell的典型列:

<ec:column property="salary" cell=”currency” format=”$###,###,##0.00”/>
如果在属性文件声明format,则列如下所示:

<ec:column property="salary" cell=”currency”/>
另外,你可以声明一个定制的format并在列中通过使用列的basis来使用它,我把这想象为named属性。因此如果你的 extremecomponents.properties文件如下所示:

table.format.myCustomDate=yy-MM-dd
那么列可以如下使用定制的format:

<ec:column property="dateOfBirth" cell="date" format=”myCustomDate”>

 

11。ExportTag

eXtremeTable具有导出不同格式文件的功能,导出的数据为过滤和排序后的所有结果集, 分页不会影响返回的结果集。换句话说,如果表数据分多页显示,那么所有页的数据都将被导出。 导出的格式为Microsoft Excel (OpenOffice Calc)、PDF和CSV。

使用ExportXlsTag导出Microsoft Excel (OpenOffice Calc):

<ec:table items="presidents" action="${pageContext.request.contextPath}/presidents.run" />
<ec:exportXls    fileName="presidents.xls"    tooltip="Export Excel"/>
...
</ec:table>
使用ExportPdfTag导出PDF。所有要做的就是指定fileName属性和一些样式属性:

<ec:table items="presidents" action="${pageContext.request.contextPath}/presidents.run" />
<ec:exportPdf    fileName="presidents.pdf"    tooltip="Export PDF"    headerColor="blue"    headerBackgroundColor="red"    headerTitle="Presidents"/> ...
</ec:table>
使用ExportCsvTag导出CSV。当使用CSV导出是默认的分隔符为‘,’(comma)。你可以使用 delimiter属性来指定为其他的符号。下面为指定‘|’(pipe)为CSV分隔符的示例:

<ec:table items="presidents" action="${pageContext.request.contextPath}/presidents.run" />
<ec:exportCsv    fileName="presidents.txt"    tooltip="Export CSV"    delimiter="|"/>
...
</ec:table>

分享到:
评论

相关推荐

    超级详细的ecside标签部分属性说明

    超级详细的ecside标签部分属性说明 ecside标签是ECTable的一个组件,用于生成列表。下面是ecside标签部分属性的详细说明: 1. 属性:tableId 描述:设置列表的唯一标识,默认为"ec",当一个页面内有多个ECSIDE列表...

    ECSide标签属性说明zECSise帮助文档

    ECSide标签属性说明zECSise帮助文档,ECSide标签属性说明zECSise参考文档,ECSide标签属性说明zECSise使用说明

    ECSide标签使用说明

    本文主要介绍ECSide的`&lt;ec:table&gt;`标签的使用方法和相关属性。 首先,ECSide的一些原版属性如`imagePath`、`showPagination`和`form`在新的版本中已被废弃。`form`属性原本是为了允许用户将`ec:table`嵌入到已有的...

    ecside 文 档

    Ecside的核心思想是简化数据集合(如Collection)到页面展示的过程,通过将数据放入request、pagecontext或session中,然后由Ecside标签负责渲染列表。 ### 1. Ecside简介 - **概念**:Ecside是一个用于生成列表的...

    ecside2.0RC1项目包

    ecside2.0RC1项目包,引入即可运行,无需额外的jar包。...这个工作可以在action/servlet里完成,也可以在jsp页面内完成),然后页面跳转到使用ECSide标签的 jsp页面,此时 ECSide就可以帮助您展现出所需要的列表.

    ecside有关jar文件

    这个工作可以在action/servlet里完成,也可以在jsp页面内完成),然后页面跳转到使用ECSide标签的jsp页面,此时ECSide就可以帮助您展现出所需要的列表. 一个简单的流程通常是这样的. 1 客户端请求action/servlet(如 ...

    ecside_2.0_beta3_标签使用说明

    每个ecSide标签都有特定的属性,用于配置其行为。例如,`&lt;es:form&gt;`标签的`action`属性指定提交表单的URL,`method`属性定义请求类型(GET或POST),而`&lt;es:input&gt;`标签的`name`属性对应服务器端的参数名,`label`...

    Ecside总结与学习.ppt

    ECSide是有一个基于jsp tag的开源列表组件. 简单的说,它就是一组...这个工作可以在action/servlet里完成,也可以在jsp页面内完成),然后页面跳转到使用ECSide标签的jsp页面,此时ECSide就可以帮助您展现出所需要的列表.

    ecside1.0RC1项目包

    ecside1.0RC1项目包,引入即可运行,无需额外的jar包。...这个工作可以在action/servlet里完成,也可以在jsp页面内完成),然后页面跳转到使用ECSide标签的 jsp页面,此时 ECSide就可以帮助您展现出所需要的列表.

    ECSide入门

    4. **页面跳转**:将请求转发到使用ECSide标签的JSP页面。 5. **列表展示**:ECSide会自动读取已绑定的数据,并渲染成可视化的列表形式展示在页面上。 #### 三、快速入门示例 接下来,我们将通过一个具体的例子来...

    ecside速成到精通详细讲解

    ecSide 提供了一套丰富的标签库,如`&lt;es:form&gt;`用于表单提交,`&lt;es:list&gt;`用于数据列表展示,`&lt;es:input&gt;`处理输入字段等。这些标签大大减少了开发者编写HTML和JavaScript的工作量。 ### 6. 数据访问与持久化 ...

    ECSide配置实例

    同时,还需要下载`ecside.tld`文件,这是一个标签库描述符(TLD),它定义了ECSide的自定义JSP标签。这个TLD文件需要被复制到`WEB-INF`目录下,以便于Web容器能够找到并解析这些标签。 接下来,我们需要编辑`web....

    ECSide(ecgrid)标签使用说明

    ECSide(ecgrid)标签使用说明

    根据Ecside ET 源码改变WEB JSP 分页标签

    ECSide的ET(EasyTag)提供了一套自定义的JSP标签库,使得开发者可以方便地在页面上插入分页组件。通过使用这些标签,你可以快速创建具有前后翻页、跳转到指定页等功能的分页栏,而无需编写大量的Java代码。 ECSide...

    ECSide基于数据库的分页、排序、过滤

    在XML配置中,如`ec:table`标签内,你可以指定RSF回调的方式: ```xml ``` 总的来说,ECSide提供了两种处理数据的策略,开发者可以根据实际需求和项目规模选择合适的方式。对于小型应用,基于Java Collection的...

    ecside所需的jar文件

    首先,我们来详细了解一下每个标签所代表的JAR文件及其功能: 1. **js.jar**:这个文件很可能包含了JavaScript引擎或者JavaScript相关的库,用于在Java环境中处理JavaScript代码,可能是为了实现动态脚本功能或者与...

    ecside完全版,copy即可应用

    关于“ecside grid标签”,这是ECSide中的一个重要特性。Grid标签用于展示和操作数据表,类似于前端的表格组件,但在服务器端进行数据处理。它支持分页、排序、过滤等功能,方便开发者构建数据浏览和编辑界面。Grid...

Global site tag (gtag.js) - Google Analytics