`

STRUTS中ec标签的用法

阅读更多

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>

分享到:
评论
2 楼 yongsky 2009-10-13  
yongsky 写道
兄弟,有没有一个struts + ectable的例子看一下,有的话请发到我的邮箱yangshouj@bmail.com,谢谢。另外我的QQ号码是77487812,希望能一起交流开发技术。

上面的邮箱应该是:yangshouj@gmail.com,sorry..
1 楼 yongsky 2009-10-13  
兄弟,有没有一个struts + ectable的例子看一下,有的话请发到我的邮箱yangshouj@bmail.com,谢谢。另外我的QQ号码是77487812,希望能一起交流开发技术。

相关推荐

    struts中ec标签的使用

    在Struts中,`ec`标签库(Extreme Components)提供了丰富的组件来帮助开发者创建动态的用户界面,特别是表格展示和交互。以下是对`ec:table`标签及其相关属性的详细说明: 1. `&lt;ec:table&gt;`标签是核心组件,用于...

    struts ec标签的使用

    ### Struts EC标签的使用详解 #### 一、概述 Struts框架是Java Web开发中的一个强大工具,它提供了一套完整的MVC(Model-View-Controller)模式实现方案,帮助开发者构建出结构清晰、易于维护的应用程序。而EC标签...

    Struts的EC标签

    EC标签的使用及学习, Dojo工具包可以使用的API,我们考察一个简单的应用,看看在实际开发中如何使用这个库的各个部分。 我们将会讨论: • Dojo是什么? • 如何设置Dojo • 实际使用DOM和HTML效果 • 通过dojo.io....

    ec标签在struts2.0中的使用

    下面我们将深入探讨`ec`标签在Struts2.0中的使用和相关属性。 首先,`ec:table`标签是核心组件,用于展示数据集合。在示例中,`items`属性指定了要显示的数据集合,`var`属性定义了遍历集合时的迭代变量名,`...

    struts标签库运用

    从JSP1.1规范后,JSP增加...标签库是一种组件技术,通过标签库,可以将复杂的Java脚本代码封装在组件中,开发者只需要使用简单的代码就可以实现复杂的Java脚本功能。提供了Java脚本的复用性,提高了开发者的开发效率。

    struts2的select标签用法实例分析

    本文实例讲述了struts2的select标签用法。分享给大家供大家参考。具体如下: 项目中遇到个小问题,总结下。 关于struts2 select标签的使用。 struts2 中从别的表中遍历数据 填充进入下拉菜单 用标签显示. struts2的...

    jsp 开发之struts2中s:select标签的使用

    本篇文章将详细介绍在Struts2中如何使用`s:select`标签,以及通过几个具体例子来展示其用法。 1. 第一个例子: ```jsp ,'bb','cc'}" theme="simple" headerKey="00" headerValue="00"&gt; ``` 在这个例子中,`list`...

    Struts html:checkbox框初始默认是选中的解决方法

    在使用struts标签html:checkbox 的时候,如何让checkbox框默认是选中的,一般情况下都是当Formbean里面该Property的值和标签上value给定的值相等的时候,生成的jsp页面上才是选中的。 在Struts中几种情况可以使标签...

    ec[s]d-1.0最完整版

    Ec[s]d的控制器部分设计得非常直观易用,只需一次性配置即可在整个应用中永久使用。开发者仅需关注页面跳转的逻辑,无需处理额外的配置细节。它具备以下优势: 1. **简化的配置**:控制器配置一次后,后续无需再...

    eXtremeComponents-1.0.4.zip

    在实际使用中,extremetable标签的配置相当直观。开发者只需在JSP页面中引入相应的taglib,然后通过一系列属性来定义表格的行为。例如,`&lt;ec:table&gt;`标签可以接受如下的属性: 1. `items`:定义表格的数据源,通常...

    上傳了一年多的學習資料,所做網站頁面功能等。

    JavaWeb项目通常部署在Tomcat、Jetty等应用服务器上,也可能使用云服务如AWS的EC2实例或阿里云的ECS。在生产环境中,还需要考虑负载均衡、性能监控、日志管理等问题。 以上是对标题和描述中可能涵盖的JavaWeb开发...

    基于Java的在线购物系统的设计与实现(源代码+系统).zip

    2. **Web应用框架**:虽然描述中未提及具体使用的框架,但通常在Java Web开发中,如Spring MVC或Struts2等框架常被用来简化开发流程,提供模型-视图-控制器(MVC)架构,便于代码组织和重用。 3. **数据库管理**:...

    jsp+servlet实现最基本的注册登陆功能

    【标签】"jsp servlet"表明项目主要基于这两种技术,没有涉及其他高级框架,如Spring MVC或Struts,因此实现可能更为基础和直接。 【压缩包子文件的文件名称列表】中的"4c73409792164ec394677d4c8f41f47f"看起来像...

    自己开发的JAVA Web Email邮件系统

    【标签】:“JAVA Email”指的是使用JAVA语言处理电子邮件的程序设计,这可能涉及到JavaMail API,这是一个开源库,为开发者提供了处理邮件的标准API,可以实现邮件的发送、接收和解析。邮件客户端则是用户与邮件...

    毕业设计订餐系统源码-SimpleDB:为基本Java数据库添加了更多功能

    - **部署和运维**:可能使用Docker进行容器化部署,或者在AWS上使用EC2、RDS等服务进行云部署。 以上就是标题和描述中所涵盖的主要知识点,对于学习和理解一个基于Java的订餐系统,以及SimpleDB数据库的增强功能,...

Global site tag (gtag.js) - Google Analytics