public String returnHtml(HttpServletRequest request,
HttpServletResponse response,Map map) throws Exception {
TableFacade tableFacade = new TableFacadeImpl("ListId", request);
tableFacade.setColumnProperties("Column1","Column2","Column3","Column4","Column5","Column6");
tableFacade.setStateAttr("restore");
tableFacade.setExportTypes(response, EXCEL);
setMessageDataAndLimitVariables(tableFacade,map);
// Limit limit = tableFacade.getLimit();
// 导出数据
if (tableFacade.getLimit().isExported()) {
this.exportDataReceive(tableFacade);
return null;
}
// final int rowStart = limit.getRowSelect().getRowStart();
HtmlTable table = (HtmlTable) tableFacade.getTable();
table.getTableRenderer().setWidth("98%");
Row row = table.getRow();
HtmlColumn column1 = (HtmlColumn) row.getColumn("Column1");
column1.setFilterable(false);
column1.setSortable(false);
column1.getHeaderRenderer().setHeaderEditor(new SelfDefinedCheckboxHeaderEditor("checkedAll(this)"));
column1.getCellRenderer().setCellEditor(new CellEditor() {
public Object getValue(Object item, String property,
int rowcount) {
Object value = new BasicCellEditor().getValue(item, "ID",
rowcount);
HtmlBuilder html = new HtmlBuilder();
html.input().type("checkbox").name("messageId").value(value.toString()).end();
return html.toString();
}
});
HtmlColumn column2= (HtmlColumn) row.getColumn("Column2");
column2.setTitle("字段名2");
HtmlColumn column3= (HtmlColumn) row.getColumn("Column3");
column3.setTitle("字段名3");
HtmlColumn column4= (HtmlColumn) row.getColumn("Column4");
column4.setTitle("字段名4");
column4.setFilterable(false);
HtmlColumn column5= (HtmlColumn) row.getColumn("Column5");
column5.setTitle("字段名5");
column5.getCellRenderer().setCellEditor(new CellEditor() {
public Object getValue(Object item, String property, int rowcount) {
Object value = new BasicCellEditor().getValue(item, property, rowcount);
try {
return value.toString();
} catch (Exception e) {
e.printStackTrace();
return "";
}
}
});
HtmlColumn column6= (HtmlColumn) row.getColumn("Column6");
column6.setTitle("短信内容");
HtmlToolbar toolbar = new HtmlToolbar();
toolbar.enablePageNumbers(true);
tableFacade.setToolbar(toolbar);
return tableFacade.render();
}
protected void setMessageDataAndLimitVariables(TableFacade tableFacade,Map map) throws Exception {
Limit limit = tableFacade.getLimit();
if (!limit.isComplete()) {
int totalRows = this.getTotalMessageCount(map);
tableFacade.setTotalRows(totalRows);
}
int rowStart = limit.getRowSelect().getRowStart();
int rowEnd = limit.getRowSelect().getRowEnd();
List<Map> items = this.selectTotalMessage(map, rowStart, rowEnd);
tableFacade.setItems(items);
}
public void exportDataReceive(TableFacade tableFacade){
tableFacade.setColumnProperties("Column2","Column3","Column4","Column5","Column6");
Table table = tableFacade.getTable();
//不读中文名字??转码!
table.setCaption("data");
Row row = table.getRow();
Column createTime= row.getColumn("Column2");
createTime.setTitle("字段2");
Column groupName= row.getColumn("Column3");
groupName.setTitle("字段3");
Column guestName = row.getColumn("Column4");
guestName.setTitle("字段4");
Column cellphone = row.getColumn("Column5");
cellphone.setTitle("字段5");
Column msg = row.getColumn("Column6");
msg.setTitle("字段6");
tableFacade.render();
}
HtmlColumn opr = row.getColumn("ID");
opr.setFilterable(false);
opr.setSortable(false);
opr.setTitle("操作");
if(isSearch){
opr.getCellRenderer().setCellEditor(new CellEditor() {
public Object getValue(Object item, String property, int rowcount) {
Object value = new BasicCellEditor().getValue(item, property, rowcount);
HtmlBuilder html = new HtmlBuilder();
html.a().href().quote().append("javascript:selectGuest(").append(
value.toString()).append(")").quote().title("查看").close();
html.img().src("../images/new/edit.gif").close();
html.aEnd();
html.nbsp();
return html.toString();
}
});
HtmlToolbar toolbar = new HtmlToolbar();
toolbar.enablePageNumbers(true);
tableFacade.setToolbar(toolbar);
}else{
opr.getCellRenderer().setCellEditor(new CellEditor() {
public Object getValue(Object item, String property, int rowcount) {
Object value = new BasicCellEditor().getValue(item, property, rowcount);
HtmlBuilder html = new HtmlBuilder();
html.a().href().quote().append("javascript:modifyGuest(").append(
value.toString()).append(")").quote().title("修改").close();
html.img().src("../images/new/edit.gif").close();
html.aEnd();
html.nbsp();
html.a().href().quote().append("javascript:deleteGuest(")
.append(value).append(")").quote().title("删除")
.close();
html.img().src("../images/del.gif").close();
html.aEnd();
return html.toString();
}
});
tableFacade.setToolbar(new ExtraGuestCustomToolbar());
}
分享到:
相关推荐
整合的 Struts2 + Jmesa (表格插件) + Ztree (树形插件) 的小例子 里边带齐了 jar包 部署上直接运行 其中数据都是固定数据 没有连接数据库~~~ 共同学习~~
3. **动态交互**:Jmesa支持动态加载和实时更新,用户可以实时查看数据的变化,无需刷新整个页面。 4. **强大的数据处理**:Jmesa不仅支持基本的数据展示,还具备强大的数据计算和分析能力,能够对表格数据进行复杂...
1. **Action**:在 Action 类中,你可以调用 `getHtmlTable()` 方法来生成 HTML 表格。 2. **JSP 页面**:在 JSP 页面上,你可以按照文档提供的两种写法来设置表格展示。 3. **效果图**:完成以上步骤后,你会看到...
jmesa.jar jmesa.jar
jmesa表格标签 依赖包 jmesa-3.0.jar
Jmesa是一款强大的Java表格和分页处理库,尤其适用于Web应用程序。在Struts2框架下集成Jmesa,可以为用户提供直观、高效的数据显示和操作功能。然而,由于相关文档较少,使得在实际应用中可能会遇到一些挑战。本文将...
JMESa适用于那些需要灵活、动态SQL查询的场景,比如数据清洗、报表生成、复杂数据分析等。 ### 8. 进阶使用 除了基本的查询功能,JMESa还支持子查询、联接、分组、排序等多种SQL特性。通过深入学习其API,开发者...
**Jmesa简介** Jmesa,全称为Java Middleware for Extracting and Analyzing Streams,是一个开源的Java中间件,主要用于处理和分析数据流。它提供了一种高效、灵活的方式来处理实时和近实时的数据流,使得开发者...
4. **可视化**:集成强大的图表绘制功能,可以生成各种类型的图表,帮助用户直观理解数据。 5. **高性能**:jmesa2.3.4充分利用Java的多线程和内存管理优势,确保在处理大规模数据时的高效运行。 三、应用场景 1....
4. **报表生成**:JMESA可以帮助生成各类业务报表,提供给决策者参考。 5. **应用程序集成**:JMESA可以被嵌入到Java应用程序中,提供灵活的数据访问接口。 **学习与进阶:** 对于想要深入了解JMESA的开发者,...
JMESA(Java Model for Export and SpreadSheet Analysis)是一个用于数据导出和电子表格分析的Java库。它提供了一种简单的方法来生成各种格式的文件,如TXT、PDF和Excel,这在Web应用程序中非常有用,特别是对于...
JMESA提供了一些API,比如`updateTable()`或者`refreshTable()`,可以方便地实现表格内容的动态更新。这样,用户就可以在不刷新页面的情况下,看到实时更新的数据。 在实际应用中,我们还需要考虑到性能和用户体验...
JMESA,全称Java Medical Image Analysis,是一个用于医学图像分析和处理的开源库。它提供了丰富的功能,包括图像显示、处理、分析以及与多种数据格式的交互。这个压缩包包含的是JMESA所需的全部jar包,确保了你在...
jmesa-2.4.4.jar 有源码
【标题】"jmesa war source" 指的是一个与JMESa相关的WAR源码包,这个包包含了JMESa的2.3版本示例应用的源代码。 【描述】"jmesa-2.3_examples.war-source.zip" 重复三次,暗示这个压缩文件是关于JMESa 2.3版本的...
jmesa-snapshot.jar jmesa用到的jar
3. **导出CSV, EXCEL, PDF**:这涉及到数据导出能力,Jmesa支持将数据显示的表格转换为常见的文件格式,如CSV(逗号分隔值)用于通用的数据交换,Excel用于进一步的数据分析,以及PDF用于打印或共享报告。...
3. 动态数据加载与更新:jmesa支持实时数据流处理,源码可能会展示如何动态加载和更新数据,以及如何实现数据刷新功能。 4. 高级功能:如多维分析、钻取、切片和切块操作,这些都是OLAP(在线分析处理)的核心功能,...
jmesa-3.0.4 最新版 供大家学习下载
JMESA的数据类型是动态的,可以自动适应不同大小和维度的数据集。 ### 2. 使用JMESA创建数组和矩阵 在JMESA中,可以通过`Array`类来创建一维数组,通过`Matrix`类创建二维数组(矩阵)。例如,创建一个3x3的二维...