为了让jmesa分页变得更加的合理,还有一些地方需要完善,比如做个论坛之类的,像JE那样,数字分页的方式已经解决了,下面还有两个问题需要解决,一是那些条件搜索框要去掉(去掉工具栏上的搜索按钮直接调整工具栏就可以了),二是内容的上下均显示分页信息。要解决这两个问题,就得自己定义HtmlView了,默认使用的样式显示方式由HtmlView类决定,此类的源码:
public class HtmlView extends AbstractHtmlView {
public Object render() {
HtmlSnippets snippets = getHtmlSnippets();
HtmlBuilder html = new HtmlBuilder();
html.append(snippets.themeStart());
html.append(snippets.tableStart());
html.append(snippets.theadStart());
html.append(snippets.toolbar());
html.append(snippets.filter());
html.append(snippets.header());
html.append(snippets.theadEnd());
html.append(snippets.tbodyStart());
html.append(snippets.body());
html.append(snippets.tbodyEnd());
html.append(snippets.footer());
html.append(snippets.statusBar());
html.append(snippets.tableEnd());
html.append(snippets.themeEnd());
html.append(snippets.initJavascriptLimit());
return html.toString();
}
}
照着上面的代码很容易实现自己的显示样式。
解决问题一:
//html.append(snippets.filter());
解决问题二:
这里有个需要注意的地方:
.....
String toolbar = snippets.toolbar();
....
html.append(toolbar);
..........
html.append(toolbar);
html.append(snippets.tableEnd());
........
之所以要这么做,一是因为这样使用更加合理,二是因为如果连续调用两次snippets.boolbar会导致其内部的字符串进行累加,那么下面的分页将会显示两次。
写完自定义的HtmlView后,将它赋给tableFacade:
...
tableFacade.setView(new CustomHtmlView());
return tableFacade.render();
最后,在相应的JSP页面申明:
...
<jmesa:tableFacade id="user_table" .... view="com.util.CustomHtmlView">
...
到此,整个jmesa的大部分问题都得到了解决,还好,可以通过博客的方式记录下来,不然自己早没这个动力了。
分享到:
相关推荐
- **org.jmesa.view.renderer**:定义各种渲染器,如行渲染器、列渲染器和单元格渲染器。 - **org.jmesa.web**:提供在 Web 环境下使用 JMESA 的辅助类。 **环境搭建** 要使用 JMESA,你需要准备以下资源: 1. ...
Jmesa是一个开源的数据分析和展示工具,其源码解读主要涵盖了五个部分,分别是包结构、limit包、core包、core.filter包和view包。在本文中,我们将深入理解Jmesa的核心概念和主要功能。 首先,我们关注的是包结构。...
`Limit`接口是`org.jmesa.limit`包中的重要接口之一,它包括以下组成部分: - **id**:唯一标识符,用于区分不同的表格或数据集。 - **RowSelect**:管理分页算法,可以通过传入页码、每页显示的最大记录数和总记录...
GaussView的核心功能之一是分子建模。用户可以使用工具栏上的原子图标添加单个原子,或通过拖拽分子结构文件(如PDB或XYZ格式)导入分子。通过调整原子间的键长和键角,可以精确控制分子的几何构型。此外,GaussView...
在Android开发中,有时我们需要对应用的某个特定View进行截图并保存或分享,例如用户希望分享当前活动的状态或者游戏得分。这个过程涉及到的关键知识点包括View的层级结构、Bitmap的生成与处理以及图片的保存和合成...
在Android开发中,有时我们需要将一个View转换成图片进行保存或者分享,比如截图、制作预览图等。这个过程涉及到的主要知识点是View的绘制和Bitmap的处理。下面将详细讲解如何实现这一功能。 首先,我们要了解`View...
标题中的"ViewServer-解决View Hierarchy不能启动"便是为了解决这一问题,提供了一种替代方案。 `ViewServer`是一个开源项目,旨在替代过时的`Hierarchy Viewer`,它允许开发者在Android设备或模拟器上检查和调试...
《SystemView中文使用详解》 SystemView是一款在通信系统领域广泛应用的实时仿真和数据分析工具,尤其在信号处理、通信系统设计以及调试过程中扮演着至关重要的角色。本篇将深入探讨SystemView的中文使用方法,帮助...
PLIN-View基本使用方法 PLIN-View 是一款功能强大且灵活的 LIN 总线分析和测试工具,能够帮助用户快速地对 LIN 总线进行分析、测试和故障诊断。以下是 PLIN-View 基本使用方法的详细说明: 1. 连接 在使用 PLIN-...
在Android应用设计中,有时我们需要让PopupWindow出现在某个特定View的上方,并与该View水平居中对齐,以达到良好的用户体验。下面将详细介绍如何实现这一需求。 首先,要理解PopupWindow的基本用法。PopupWindow类...
描述中提到的“可以直接浏览H5后缀的文件内容”,这表明HDFView的核心功能之一就是能够打开和浏览.H5文件。H5文件是HDF5格式的文件,这种格式支持大容量数据的存储,并允许嵌套数据结构,如数组、表格、图像和字符串...
《HexView_V1.12.05 免安装》是一款功能强大的十六进制查看与编辑工具,专为计算机专业人士和高级用户设计。它能够帮助用户深入地分析和操作二进制数据,对于软件开发、数据恢复、系统调试等领域的工作来说,是不可...
TradingView是一款强大的在线图表工具,尤其受到金融投资者和交易者的喜爱。它提供了丰富的技术分析工具、实时市场数据以及用户社区,让投资者能够深入地研究和理解市场动态。2022年的最新版 TradingView 提供了更多...
<view class=view xss=removed>我是view标签,我现在的宽度是{{view.Width}}px,高度是{{view.Height}}px</view> <input placeholder=输入view标签的宽度 bindinput=viewWidth></input> <input ...
PDFView是Android开发中用于显示PDF文件的一种工具,它允许开发者在应用程序中集成PDF阅读功能。这个工具包可能包括源代码和预编译的jar包,使得开发者可以直接将PDF查看功能整合到自己的应用中,无需依赖其他大型库...
《HexView(Vector)V1.09.01:深入理解十六进制查看与编辑工具》 在计算机科学和IT领域,理解数据的底层表示是至关重要的,尤其是在进行二进制分析、软件逆向工程或者数据恢复时。HexView(Vector)V1.09.01是一款...
View 安装5 1 服务器组件的系统要求7 View 连接服务器的要求7 View Administrator 的要求9 View Composer 的要求9 2 客户机操作系统的系统要求13 View Agent 支持的操作系统13 独立 View Persona Management 支持的...
在Android开发中,View是构建用户界面的基本元素,它涵盖了屏幕上的任何可见组件,如按钮、文本框、图片等。动态地改变View的大小是一项常见的需求,比如在响应用户交互或者适应不同屏幕尺寸时。本篇文章将深入探讨...
标题中的“HexView资源-Vector”表明这可能是一个关于计算机软件开发或数据分析的资源集合,主要涉及使用HexView工具处理矢量数据。HexView通常是一个十六进制查看器,用于查看和分析二进制文件的内容,它能显示数据...